LINQ to SQL允许表映射通过指定列的类型来自动地来回转换为枚举 - 这适用于字符串或整数.
有没有办法使转换大小写不敏感或添加自定义映射类或扩展方法到混合中,以便我可以更详细地指定字符串应该是什么样子.
这样做的原因可能是为了在已经设置了数据模式的系统中的一些新的时髦C#代码中提供更好的命名约定(并且正在被一些遗留应用程序所依赖),因此数据库中的实际文本可以'改变.
您始终可以添加与 LinqToSql 类同名的分部类,然后定义您自己的参数和函数。然后,这些将作为该对象的对象参数和方法进行访问,就像访问自动生成的 LinqToSql 方法一样。
示例:您有一个名为的 LinqToSql 类,Car该类映射到数据库中的 Car 表。然后,您可以将文件添加到 App_Code,其中包含以下代码:
public partial class Car {
// Add properties and methods to extend the functionality of Car
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否完全满足您更改枚举映射到列的方式的要求。但是,您可以添加一个参数,其中 get/set 属性将用于映射您需要的枚举,同时保持不区分大小写。