2012-02-15 57 views
0

我是新来的实体框架;在使用它的第一个应用程序上工作。到目前为止,我喜欢它!我非常喜欢在EF上下文中与表/查询中的字段进行交互的强类型方法。有没有办法在EF中按名称指定字段?

但是,我想知道是否有一种方法通过将字段命名为字符串来访问表/查询的字段,即旧式的方式?例如,假设efObject是在一些的.edmx表,有没有做这样的事情的一种方式:

efObject["FirstName"].Value = "Fred"; 

如果这样做的这样一种方式,我不知道性是什么,什么方法将是,等等。

我正在使用EF 4.2。

+0

为什么当你得到一个强类型的访问方式? – 2012-02-15 17:10:17

+0

好问题。问题是我有一个多年前写的WCF服务,它返回ADO.NET数据集。我知道遍历所有返回的表的唯一方法就是像这样做: dataSet.Tables [n] .Rows [m] [o ]。 – Rod 2012-02-15 17:19:40

+0

(男人,我不习惯不能够把回车进入我的意见。) 或者,我可以用dataSet.Tables [N] .Rows [M] [“名字”] 我不希望在我的EF模型中为每个表中的每一列输入一行代码。所有表中大约有600个字段;这是一大堆打字,我试图避免。 – Rod 2012-02-15 17:23:58

回答

1

在运行时无法轻松访问EF数据模型定义。

看一看这个讨论的原因和可能的解决方法:Get Database Table Name from Entity Framework MetaData

如果属性的名称和相应的字段名的比赛,你可以使用反射来扣除的映射。

+0

谢谢Dennis为你链接到的其他Stack Overflow文章。哇,它看起来并不容易,而在你链接的文章中,里克斯特拉尔想要表名。我知道,这是我不知道的领域。而且我对ObjectStateEntry或列出的其他选项一无所知,因此无法使用它们。也许在这种情况下,我最好是使用ADO.NET数据集对我试图移动数据的本地SQL Express数据库。 无赖。 – Rod 2012-02-15 18:00:25

相关问题