2012-02-15 217 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

相關問題