ado.net实体数据模型父子关系

发布于 2024-07-22 21:15:32 字数 470 浏览 4 评论 0原文

设想 我正在玩 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱殇璃 2024-07-29 21:15:32

EF 与 LINQ 略有不同。 在您的查询中,添加类似的内容

var dinner = context.Dinners.First(d => d.DinnerID = id).Include("Attendees");

,这将告诉 EF 在一次获取中附加关联的 attendees 对象,为您执行所有必要的联接。

EF is a little different from LINQ. In your query, add something like

var dinner = context.Dinners.First(d => d.DinnerID = id).Include("Attendees");

This will tell EF to attach the associated Attendees objects in a single fetch, doing all of the necessary joins for you.

旧人 2024-07-29 21:15:32

正确语法

表:“晚餐”和“晚餐” '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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文