如何使用
linq-to-
sql在
sql-server中存储枚举?
在我的代码中,我最终有了很多转换和从int的转换.
必须有一个更好的方法.我错过了什么?
sqlItem.enumValue = (int)myEnumValue;
...
myEnumValue = (MyEnumType)sqlItem.enumValue
sql Server或LINQ将值作为字符串或int存储在数据库中无关紧要,我只想避免所有这些类型转换都在我的代码上洒下来.
可以通过扩展方法解决我的linq-to-sql-classes,如果是这样的话呢?
您可以在DBML编辑器中使用来自
数据库的类型的映射.
假设您在Visual Studio中工作(执行这些操作的顺序可能会引起高度的刺激,因为在打开属性时,它会自动在编辑器中取消选择当前的选择,等等):
>打开DBML编辑器,
>打开“属性”视图/选项卡
>在“类型”字段中指定类型.
根据我的经验,只需输入< namespace>.< type>的形式.并不总是成功,我认为这是@leppie所指的细微差别;为了安全起见,请使用全局::< namespace>.< type> ;.