首页 > 其他 > 详细

Entity Framework ModelFirst尝试

时间:2014-03-19 11:53:17      阅读:490      评论:0      收藏:0      [点我收藏+]
原文:Entity Framework ModelFirst尝试

前言

Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在Visual Studio中我们通过设计对于的数据模型来生成数据库和数据类。

简单演示使用过程

第一步:首先还是添加一个简单的控制台应用程序,然后在此项目上添加一个 ADO.NET 实体数据模型。
bubuko.com,布布扣

第二步:选择空模型。

bubuko.com,布布扣

第三步:在模型设计视图中,添加新实体

bubuko.com,布布扣

bubuko.com,布布扣

点击确定后

bubuko.com,布布扣

第四步:在Order实体上在添加两个属性,Customer(订单所属客户)类型为string,OrderDate(订单下单日期)类型为DateTime

bubuko.com,布布扣

字段类型设置,就在当前字段右键===>>>属性然后找到类型设置即可。

第五步:再添加一个实体OrderDetail订单详细,Product产品

bubuko.com,布布扣

第六步:我们添加二者之间的关系,“Order”和“OrderDetail”是一对多的关系,“Order”可以通过“OrderDetails”属性访问“OrderDetail”实体,“OrderDetail”可以通过“Order”属性访问“Order”实体,并且添加了一个外键约束到“OrderDetail”中

bubuko.com,布布扣

bubuko.com,布布扣

点击确定,添加之后的关系为

bubuko.com,布布扣

到目前为止Model First中的Model已经创建结束,下面就需要生成到数据库了,在模型设计视图空白处选择“根据模型生成到数据库…”:

并且确保数据库中已经存在一个空白数据库

bubuko.com,布布扣

第七步:选择并添加数据链接

bubuko.com,布布扣

bubuko.com,布布扣

 然后点击下一步后,会看到如下界面

bubuko.com,布布扣

然后再点击完成即可,看到生成的Sql脚本。

bubuko.com,布布扣

再然后,右键Sql脚本,点击执行

bubuko.com,布布扣

最终数据库的此数据库多了两个表

bubuko.com,布布扣

简单代码测试

 

class Program
{
    static void Main(string[] args)
    {
        using (var db = new ModelTestContainer())
        {
            Order Order = new Order();
            Order.Customer = "aehyok";
            Order.OrderDate = DateTime.Now;
            db.Orders.Add(Order);
            db.SaveChanges();
 
            IQueryable<Order> Orders = from Orderes in db.Orders
                                       select Orderes;
            foreach (Order O in Orders)
            {
                Console.WriteLine("OrderID is {0},Customer is {1}", O.ID, O.Customer);
            }
        }
        Console.ReadLine();
    }
}

 运行效果为

bubuko.com,布布扣

运行了两次,所以添加两条数据。

注意:如果我们的模型发生改变,只需要在模型设计视图修改模型,让后保存此时实体类就会相应改变,然后选择“从模型生成到数据库”重新执行生成的脚本即可。

Entity Framework ModelFirst尝试,布布扣,bubuko.com

Entity Framework ModelFirst尝试

原文:http://www.cnblogs.com/lonelyxmas/p/3609346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!