如何将非数据库属性添加到实体框架实体?

| 我的问题:我想向我的Entity Framework实体(在我的ASP.NET项目中)添加一个简单的类型化属性(例如string,int,double),该属性不与对应于该实体的数据库表中的任何字段相关联。我希望能够在我的ASP.NET项目中设置此属性的值,并将该属性的内容自动神奇地发送到Silverlight客户端,以通过RIA服务获取实体。 我该怎么做呢? 注意:如果这样可以简化操作,则对于我的特定实例,我不需要将实体保存回数据库。同样,如果这对视图和表都起作用,那将是很棒的。 我的设置:我正在使用Silverlight 4,实体框架4和RIA服务。它以常规方式设置:Silverlight客户端应用程序和ASP.NET服务器应用程序;我正在从数据库中生成我的EF模型。 RIA服务正在Silverlight客户端上生成实体和数据库访问方法。 我的例子: 数据库:客户表 客户ID 顾客姓名 EF生成的实体(ASP.NET服务器端):客户类 公共财产客户ID为整数 公共属性CustomerName为字符串 我想向与数据库无关的客户实体添加一个属性: 公共属性UnicornColor作为字符串 在我的域服务(ASP.NET服务器端)中,我将自己填写新属性:
Public Function GetCustomers() As IQueryable(Of Customer)
    Dim customers as IQueryable(of Customer) = Me.ObjectContext.Customers
    For each c as Customer in customers
       c.UnicornColor = \"Green\"
    Next
    return customers
End Function
在客户端,我希望在运行查询时可以使用该新属性及其值:
Public Sub LoadCustomers()
    myContext.Load(myContext.GetCustomersQuery, AddressOf CustomersLoaded, Nothing)
End Sub

Public Sub CustomersLoaded(ByVal loadOp as LoadOperation(Of Customer))
    Dim customers as IEnumerable(Of Customer) = loadOp.Entities
    For Each c as Customer in customers
        dim color as string = c.UnicornColor
    Next
End Sub
    
已邀请:
        使用T4生成实体的部分类(例如,Visual Studio扩展库中的POCO T4),然后添加文件,例如MyEntity.Part2.cs具有与生成的文件相同的部分类,但是包含新的属性。 有关更多信息,请参见Google偏类C#。     

要回复问题请先登录注册