LINQ to SQL字符串枚举

LINQ to SQL字符串枚举

LINQ to SQL strings to enums

LINQ to SQL通过指定列的类型允许表映射自动来回转换为Enums-这适用于字符串或整数。

有没有一种方法可以使转换不区分大小写,或向混合中添加自定义映射类或扩展方法,以便我可以更详细地指定字符串的外观。

这样做的原因可能是为了在已经设置了数据模式(并且被某些旧有应用程序所依赖)的系统中的一些新的时髦C#代码中提供更好的命名约定,以便数据库中的实际文本可以 不能改变。


您始终可以添加与LinqToSql类同名的局部类,然后定义自己的参数和函数。 然后,可以使用这些参数作为该对象的对象参数和方法进行访问,就像访问自动生成的LinqToSql方法一样。

示例:您有一个名为Car的LinqToSql类,该类映射到数据库中的Car表。 然后,您可以将文件添加到App_Code中,其中包含以下代码:

1
2
3
public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

我不确定这是否完全满足您更改Enums映射到列的方式的要求。 但是,您可以添加一个参数,在该参数中,get / set属性将用于映射所需的枚举,同时保持大小写不敏感。


推荐阅读