时间:2021-07-01 10:21:17 帮助过:2人阅读
第二步:创建数据库
在测试之前,打开临时连接用于创建数据库,使用DataContext提供了DatabaseExists()、DeleteDatabase()、CreateDatabase()方法,先使用DatabaseExists()验证数据库是否存在,如果存在使用DeleteDatabase()方法删除,使用CreateDatabase()方法创建一个数据库架构,及时释放这个连接。
[TestFixtureSetUp] public void Init() { DataAccessEntitiesDataContext context = new DataAccessEntitiesDataContext(ConnectionString); context.Log = Console.Out; if (context.DatabaseExists() == true) { context.DeleteDatabase(); } context.CreateDatabase(); context.Connection.Close(); context.Dispose(); context = null; }
第三步:关闭所有连接
在测试结束关闭所有的连接,这一步非常必要哦。
[TestFixtureTearDown] public void Tear() { DataContext.Connection.Close(); }
第四步:设置连接字符串
新建一App.config文件,设置连接字符串:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="conn" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=LINQ;Integrated Security=True"/> </connectionStrings> </configuration>
我们新建一个测试类用于测试数据访问对象,这里简单测试创建一个Customer对象,新建CustomerFixture.cs类继承UnitTestBase
编写创建Customer对象方法如下,创建一个Customer对象,调用InsertOnSubmit()方法插入,调用DataContext.SubmitChanges()方法提交数据库。
[Test] public void CreateCustomerTest() { Customer customer = new Customer() { FirstName = "YJing", LastName = "Lee" }; Assert.AreEqual(0, customer.CustomerId, "测试前CustomerId为0"); DataContext.Customer.InsertOnSubmit(customer); DataContext.SubmitChanges(); Assert.AreNotEqual(0, customer.CustomerId, "调用SubmitChanges()方法后CustomerId不为0"); }
测试成功,看看输出结果:
OH!非常酷!首先创建了数据库架构,然后插入了一条数据。再次测试一下这个方法将是什么结果呢?这个问题就留给大家了。
看到了吗?这就是全新的方式来完成非常酷的工作!从面向对象入手,利用LINQ to SQL生成其关系型数据库,一切就是这么容易!这篇仅仅在数据访问层上新建一数据访问对象,在测试中调用DataContext提供的方法完成数据操作!下篇更精彩!
版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载。
LINQ to SQL活学活用(1):这要打破旧观念
标签: