3
我有两个属性(“FIRST_NAME”和“LAST_NAME”)需要作为单个媒体资源(例如“FULL_NAME”)访问。有没有办法让我向包含FIRST_NAME和LAST_NAME的组合值的实体模型添加属性?在实体框架模型中创建组合属性?
我有两个属性(“FIRST_NAME”和“LAST_NAME”)需要作为单个媒体资源(例如“FULL_NAME”)访问。有没有办法让我向包含FIRST_NAME和LAST_NAME的组合值的实体模型添加属性?在实体框架模型中创建组合属性?
由于EF4创建的模型类通常是partial
类,因此您可以选择使用其他属性和方法在单独的文件中扩展类。在那里,你可以添加一个只读属性,只有一个getter返回了合并的全名:
public partial class Person
{
public string FullName
{
get
{
return string.Concat(FirstName, " ", LastName);
}
}
}
这是只有在你的模型类,但不映射到数据库中的属性,它不存在,作为一个数据库中的列。因为您在单独的文件中创建分部类的这一部分,所以如果您应该更改模型,则不会触及并由模型设计器覆盖。
谢谢,这真的很有帮助。不幸的是,我无法将这些部分类与QueryExtender一起用作我所领导的DataFields。 :( – davemackey 2011-04-06 18:34:56
@davemackey:啊,我明白了,你想要查询'FullName',对吗?你是否使用“数据库优先”设计?然后可能会有选择直接在数据库中创建一个计算列来进行并置。你可以把这个列映射到你的模型中的一个属性(EF设计者会自动创建这个属性)并且查询应该是可能的。希望QueryExtender也允许使用这个字段,但是我不太确定 – Slauma 2011-04-06 18:50:34
谢谢。 ,我已经有了数据库,所以我必须以某种方式执行First_Name和Last_Name的连接。我正在使用QueryExtender的CustomExpression选项,但迄今尚未能使其工作。 – davemackey 2011-04-06 18:55:02