首页 新闻 会员 周边

在entity framework中怎么让一个实体映射到多张表

0
悬赏园豆:40 [已解决问题] 解决于 2014-01-22 16:29

刚刚接触ef,用的是oracle数据库,和modelfirst模式。例如现在有一个实体Person,Person有三个属性:身高、体重和身份证号码。然后有两张表A和B,在A中保存Person的身高、体重信息,在B中保存身份证号码信息,应该怎么做?

cmuler的主页 cmuler | 初学一级 | 园豆:49
提问于:2013-07-22 10:27
< >
分享
最佳答案
0

试试下面的映射方法:

modelBuilder.Entity<Person>()
.Map(m =>
{
    m.Properties(p => new { p.身高, p.体重 });
    m.ToTable("A");
})
.Map(m =>
{
    m.Properties(p => new { p.身份证号码 });
    m.ToTable("B");
});
收获园豆:40
dudu | 高人七级 |园豆:30994 | 2013-07-22 11:15

谢谢!我再问一下 比如person有一个字段id,作为表A和表B的主键,写法是这样吗:

m.Properties(p => new { p.id, p.身高, p.体重 });
cmuler | 园豆:49 (初学一级) | 2013-07-22 16:38

@cmuler: 不是这样写。建议先让代码跑起来,根据实际生成的SQL语句进行调整

dudu | 园豆:30994 (高人七级) | 2013-07-22 16:44
其他回答(2)
0

建立导航属性来映射。

小兵仔 | 园豆:1240 (小虾三级) | 2013-07-24 16:25
0

各位,请问下,如果还有一个C表,test,test.ID和B表的testID,是关联的,B表中增加Test,C表中增加 ICollection<B> bCols ,映射怎么做的

金钱 | 园豆:136 (初学一级) | 2016-07-05 16:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册