我是Linq to Sql的新手,我想要实现的是在Entity类上创建一个只读属性,它是多个字段的组合,特别是我想创建一个名称字段,它结合了 - title ,姓氏和姓氏。
我可以通过更改.designer.cs文件看到如何做到这一点,但知道我不应该触摸它。
我正在尝试这样做,以便在动态数据中我得到一列而不是多列。
答案 0 :(得分:4)
这里的诀窍是使用partial class
;创建一个新的.cs文件,并在同一名称空间中 添加一个为您的类型命名的新类:
namespace My.Data.Namespace {
partial class Employee {
public string Foo {
get {return Forename + " " + Surname; } // etc
}
}
}
此与原始(生成的)类文件结合使用。这是在生成的实体(包括数据上下文)中添加附加功能的常用方法。您可能还想查看“部分方法”,因为LINQ-to-SQL定义并使用了许多部分方法。
有一点需要注意:如果你的dbml被调用MySystem.dbml
,那么避免创建一个MySystem.cs
文件(可能是你的部分类);代码生成器中存在一个错误,可能导致此错误。只需将其他名称命名即可。
答案 1 :(得分:0)
在你的LINQ select语句中,为什么不使用类似的东西:
select new {FullName = x.FirstName + " " + x.Surname};
不确定语法是否100%,但请查看这个想法。