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