Entity FrameWork复杂属性摸索

最近公司的项目要用到Entity Framework,里面牵扯到实体复杂属性的设计,我摸索了好长时间都没搞懂这个在模型浏览器里该怎么添加,今晚回来加了一会儿班,总算搞出来了。

下面记录下是怎么操作的,以免再次有需要的时候忘记了。


备注:我用的工具是VS2013,选用的Entity Framewok 6.0版本。


创建一个控制台项目,起名“TestProject”,添加一个ADO.Net 实体数据模型,起名“Test”,然后点击添加。

接下来会弹出一个窗口,询问我们是从数据库生成21模型还是创建一个空模型,因为我用的是Model First模式,所以我选择创建空模型。


创建好模型之后,我们添加实体,起名“Employee”。


接下来再给这个实体添加三个标量属性:Name,Age,Phone和一个复杂属性HomeTown(由Province,City,Area三个部分组成)。标量属性直接添加就可以了,我们说说HomeTown这个复杂属性如何添加。


首先,我们打开VS右侧的  “模型浏览器”  选项卡,在Test(也就是我们创建的实体数据模型的名字)节点下我们可以看到“复杂属性”这个节点:


右击它  —— 点击“添加新的复杂属性”并将其命名为Address,这样我们就创建了一个复杂属性,接下来我们给Address添加Province,City,Area这三个标量属性。

上面这三个属性都是String类型的。



上面的步骤进行完之后我们就可以给刚刚创建的实体Employee添加这个复杂属性了,我们右击实体,点击 新增 —— 复杂属性,命名为HomeTown,然后设置HomeTown的类型为刚刚创建的Address类型。


到这里,一个完整的实体模型就建好了,最后我们来生成一下数据库。

我们接下来插入一条数据试试。

static void Main(string[] args)
        {
            using(TestContainer db = new TestContainer())
            {
                Employee emp = new Employee()
                {
                    Name = "张三",
                    Age = "25",//原谅我,刚刚年龄忘记设成Int型了
                    Phone = "13333333333",
                    HomeTown = new Address() 
                    {
                        Province="江苏",
                        City="南通",
                        Area="通州"
                    }
                };
                db.EmployeeSet.Add(emp);
                db.SaveChanges();
            }
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值