tom*_*msv 10 .net c# enums linq-to-sql
如何使用linq-to-sql在sql-server中存储枚举?
我最终int在代码中进行了大量的转换.一定有更好的方法.我错过了什么?
sqlItem.enumValue = (int)myEnumValue;
...
myEnumValue = (MyEnumType)sqlItem.enumValue
Run Code Online (Sandbox Code Playgroud)
如果SQL服务器或LINQ将值存储为数据库中的字符串或整数并不重要,我只想避免所有这些类型转换遍及我的代码.
它可以通过我的linq-to-sql-classes的扩展方法解决,如果是这样的话会是什么样的?
Gra*_*mas 15
您可以在DBML编辑器中使用数据库中的类型映射.
假设您在Visual Studio中工作(执行这些操作的顺序会非常恼人,因为它在打开属性时会自动取消选择编辑器中的当前选择,等等):
根据我的经验,只是以形式输入类型<namespace>.<type>并不总是成功的,我认为这是@leppie所指的细微差别; 为了安全,使用global::<namespace>.<type>.