Мой вопрос: Я хотел бы добавить простое типизированное свойство (например, string, int, double) к моей сущности Entity Framework (в моем проекте ASP.NET), которое не связано ни с одним полем втаблица базы данных, которая соответствует сущности.Я хотел бы иметь возможность установить значение этого свойства в моем проекте ASP.NET и сделать так, чтобы содержимое этого свойства автоматически отправлялось клиенту Silverlight для получения сущностей через службы RIA.
Как сделатьЯ делаю это?
Примечание: Если это облегчит задачу, для моего конкретного случая мне не нужно сохранять объекты обратно в базу данных.Кроме того, было бы замечательно, если бы это работало для представлений и таблиц.
Моя настройка: Я использую Silverlight 4, Entity Framework 4 и RIA Services.Он настроен обычным образом: клиентское приложение Silverlight и серверное приложение ASP.NET;Я генерирую свою модель EF из базы данных.Службы RIA генерируют сущности и методы доступа к базе данных на клиенте Silverlight.
Мой пример:
База данных: таблица клиентов
EF-сгенерированный объект (на стороне сервера ASP.NET): класс клиента
- Открытое свойство CustomerID как целое число
- Открытое свойство CustomerName as String
Я хотел бы добавить к сущности Customer свойство, не связанное с базой данных:
- Открытое свойство 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