【发布时间】:2009-07-23 01:27:36
【问题描述】:
我将实体框架用作 ASP.Net (webforms) 应用程序的 ORM。假设我的应用程序中有一组“列表/详细信息”页面,当您单击列表页面中的一行时,我想将该行的某种类型的 ID 传递给详细信息页面,然后我会使用从我的数据层加载行。在我的具体情况下,主键只是一个“rowId”标识列。
然而,EF 似乎更喜欢“隐藏”主键/外键,这样您就无法访问它们(默认情况下)。
我是 EF 的新手,我想知道是否有最佳实践来唯一标识实体上下文之外的行。我想我可以在我的记录中添加一个 uniqueidentifier 列,并为我的实体模型添加一个匹配属性,但是为行有效地拥有 2 个唯一标识符似乎是多余的。有没有更好的方法在表示层携带标识符?
在我的 _ItemDataBound() 事件处理程序中,我认为我可以执行以下操作:
var announcement = (Announcement) e.Item.DataItem;
string rowID = announcement.EntityKey.EntityKeyValues[0].Value.ToString();
这是推荐的,还是仅仅针对框架工作?
提前致谢。
斯科特
【问题讨论】:
标签: c# asp.net entity-framework