ado.net实体数据模型父子关系
设想 我正在玩 MVC NerdDinner 项目,并在“dbml”上使用 ado.net 实体数据模型,
我有 2 个数据库表晚餐和; RSVP,其中 RSVP 包含 DiningID 作为晚餐表中的外键。
的外键数据,但没有具有该属性的数据
现在,当我从晚餐表访问特定记录时,它返回一个具有 RSVP 属性的晚餐对象,但尽管 RSVP 表具有来自晚餐表数据
DinnerTable
ID :1
标题:“.Net 架构”
RSVPTable
ID:1
晚餐ID:1
与会者姓名:'Miral'
ID:2
晚餐ID:1
attendeeName : 'Shivani'
因此,当获取应返回其子 RSVP 数据的晚餐数据时,我得到的 RSVP 属性有 0 条记录。
Scenario
I am playing MVC NerdDinner project and using ado.net entity data model instead on 'dbml'
I have 2 database tables Dinner & RSVP where RSVP contains DinnerID as foreign key from Dinner table.
Now when I am accessing a particular record from Dinner table, it returns a dinner object with RSVP property but there are no data with that property inspite of RSVP table having data with foreign key from Dinner table
Data
DinnerTable
ID :1
Title : '.Net Architecture'
RSVPTable
ID :1
Dinner ID: 1
AttendeeName : 'Miral'
ID :2
Dinner ID: 1
AttendeeName : 'Shivani'
So when fetching Dinner data which should return its child RSVP data, I am getting RSVP property with 0 records.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
EF 与 LINQ 略有不同。 在您的查询中,添加类似的内容
,这将告诉 EF 在一次获取中附加关联的 attendees 对象,为您执行所有必要的联接。
EF is a little different from LINQ. In your query, add something like
This will tell EF to attach the associated Attendees objects in a single fetch, doing all of the necessary joins for you.
正确语法
表:“晚餐”和“晚餐” 'RSVP'
vardinner =_nerdDinnerEntities.Dinner.Include("RSVP").Where(dd => dd.ID == ID).FirstOrDefault();
您需要在 FirstOrDefault 之前编写 Include。
“Include”是“Dinner”实体上的一个方法,它包括包含外键(即“RSVP”)和属性“AttendeeName”的表名。
我尝试传递“AttendeeName”属性之一,但没有成功。
Correct syntax
Table : 'Dinner' & 'RSVP'
var dinner =_nerdDinnerEntities.Dinner.Include("RSVP").Where(dd => dd.ID == ID).FirstOrDefault();
Your require to write Include before FirstOrDefault.
'Include' is a method on Entity over here 'Dinner',and it includes table name containing the foreign key i.e. 'RSVP' and the property 'AttendeeName'.
I tried passing one of the property 'AttendeeName' but it didnt worked.