我确定这是非常简单的事情 但我看不出答案
这是我的代码:
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]);
}