與linq to sql(dbml文件),如何獲取數據類型的大小?與linq to sql dbml,如何獲取數據類型的大小?像varchar(50),如何獲得50?
爲例,varchar(50),如何得到50?
感謝
與linq to sql(dbml文件),如何獲取數據類型的大小?與linq to sql dbml,如何獲取數據類型的大小?像varchar(50),如何獲得50?
爲例,varchar(50),如何得到50?
感謝
你可以搶字符串(如: 「的NVarChar(30)」),從與財產有關的ColumnAttribute。
var prop = typeof(User).GetProperty("FirstName");
var attr = (ColumnAttribute)prop.GetCustomAttributes(typeof(ColumnAttribute), false)[0];
string dbType = attr.DbType;
int index = dbType.IndexOf("(") + 1;
int width = int.Parse(dbType.Substring(index, dbType.IndexOf(")") - index));
你也可以做這樣的...
String databaseType =
*DataContextInstance*.Mapping.MappingSource
.GetModel(typeof(*DataContext*))
.GetMetaType(typeof(*Entity*))
.DataMembers.First(x => x.Name.Equals("ColumnName"))
.DbType;
希望幫助:)