使用Linq-to-sql在sql-server中存储枚举
本文关键字:存储 枚举 sql-server Linq-to-sql 使用 | 更新日期: 2023-09-27 18:11:55
如何使用linq-to-sql在sql-server中存储枚举?
我最终在我的代码中有很多与int
的转换。一定有更好的办法。我错过了什么?
sqlItem.enumValue = (int)myEnumValue;
...
myEnumValue = (MyEnumType)sqlItem.enumValue
SQL server或LINQ是否将值存储为字符串或int型并不重要,我只是想避免所有这些类型转换散布在我的代码中。
是否可以通过扩展方法来解决我的linq-to-sql类,如果是这样的话,那会是什么样子?
您可以在DBML编辑器中使用数据库类型的映射。
假设您在Visual Studio中工作(执行这些操作的顺序可能非常令人恼火,因为当打开属性时,它会自动取消编辑器中的当前选择,等等):
- 打开DBML编辑器
- 打开"属性"视图/标签
- 在"type"字段中指定类型。
根据我的经验,仅仅以<namespace>.<type>
的形式输入类型并不总是成功的,我认为这就是@leppie所指的细微差别;为安全起见,请使用global::<namespace>.<type>