知道dbset如何检索字段类型

时间:2014-05-21 01:36:39

标签: .net asp.net-mvc-4 entity-framework-5

我确定这是非常简单的事情 但我看不出答案

这是我的代码:

using System.Data;
using System.Data.Entity;
using System.Data.Metadata.Edm;
using System.Data.Objects;


foreach (string f in fields) {                    
    string t = db.map_data.EntitySet.ElementType.Members[f].TypeUsage.EdmType.Name;
    System.Diagnostics.Debug.WriteLine("type = {0}", t);
}

基本上我想打印出每个列的数据类型
我正在引用这篇文章:Get Column DataType from Entity Framework Entity
然而intellisense给了我一个在EntitySet下的红色波浪形 所以它没有编译,因为它没有找到组件
但如上所述,我包括正确的装配加上一点额外的

有谁知道我错过了什么?

ps:我正在使用.net framework 4.0.2
但我检查了ms页面,显然EntitySet很好这个版本

更新:感谢下面的pawel 这不起作用的原因是因为map_data是dbset而不是objectset
所以真正的问题是如何才能得到我的模型的列类型 (在运行时)知道dbset

所以基本上是这样的 我喜欢得到这种答案

Dictionary<string, string> fieldtypes = new Dictionary<string, string>();

foreach (string f in fields) {                    
    ... some thing happens here where i can set fieldtypes dictionary ...
    System.Diagnostics.Debug.WriteLine("{0} type = {1}", f, fieldtypes[f]);
}

0 个答案:

没有答案