18

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

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

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

4

1 回答 1

3

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

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

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

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

于 2008-08-07T18:23:10.923 回答