LINQ to SQL字符串来枚举

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

有没有办法让转换大小写不敏感,或者添加一个自定义的映射类或扩展方法到混音中,以便我可以更详细地指定字符串的外观。

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

0
我没有意识到LINQ to SQL支持枚举映射!但我现在......非常感谢。
额外 作者 Richard Everett,

1 答案

您可以随时添加一个与您的LinqToSql类同名的部分类,然后定义您自己的参数和函数。然后这些对象可以作为这个对象的对象参数和方法来访问,就像自动生成的LinqToSql方法一样。

示例:您有一个名为 Car 的LinqToSql类,它映射到DB中的Car表。然后您可以使用以下代码将文件添加到App_Code中:

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

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

0
额外