2011-04-06 84 views

回答

9

由于EF4创建的模型类通常是partial类,因此您可以选择使用其他属性和方法在单独的文件中扩展类。在那里,你可以添加一个只读属性,只有一个getter返回了合并的全名:

public partial class Person 
{ 
    public string FullName 
    { 
     get 
     { 
      return string.Concat(FirstName, " ", LastName); 
     } 
    } 
} 

这是只有在你的模型类,但不映射到数据库中的属性,它不存在,作为一个数据库中的列。因为您在单独的文件中创建分部类的这一部分,所以如果您应该更改模型,则不会触及并由模型设计器覆盖。

+0

谢谢,这真的很有帮助。不幸的是,我无法将这些部分类与QueryExtender一起用作我所领导的DataFields。 :( – davemackey 2011-04-06 18:34:56

+0

@davemackey:啊,我明白了,你想要查询'FullName',对吗?你是否使用“数据库优先”设计?然后可能会有选择直接在数据库中创建一个计算列来进行并置。你可以把这个列映射到你的模型中的一个属性(EF设计者会自动创建这个属性)并且查询应该是可能的。希望QueryExtender也允许使用这个字段,但是我不太确定 – Slauma 2011-04-06 18:50:34

+0

谢谢。 ,我已经有了数据库,所以我必须以某种方式执行First_Name和Last_Name的连接。我正在使用QueryExtender的CustomExpression选项,但迄今尚未能使其工作。 – davemackey 2011-04-06 18:55:02