Я начинаю с EF, и мне нужны некоторые базовые рекомендации
У меня есть таблица с именами Персоны с именем, фамилией, датой рождения и другими
Теперь я привязываю к ней сетку данных (в WPF) и все нормально
но как мне создать столбец для полного имени (фамилия, имя)?
в моих прошлых проектах (доступ MS, asp.net) я бы сделал видНазовите viwpersons и укажите все рассчитанные / вычисленные столбцы.а затем привязать пользовательский интерфейс к представлению
с помощью EF. Если вы связываете представление, возникает несколько проблем
- , вы всегда должны снова и снова удалять
definingquery
, в противном случаевы не можете обновить - , когда пользователь редактирует фамилию или фирму, поле не обновляется, пока вся сетка данных не будет восстановлена или обновлена
- вставки и удаления абсолютно невозможны
- дажеесли сетка редактирования связана с таблицей, поэтому мы можем вставлять и удалять, изменения не отражаются в выпадающих списках и т. д. вокруг приложения, так как они связаны с
ObservableCollection
представления, а не с таблицей
Итак, после нескольких недель хакерских атак, я решил пойти «концептуально» или «логично» или что-то в этом роде.я удалил представление из моего edmx и собираюсь работать только с таблицами.я пытаюсь добавить свой первый вычисленный столбец в таблицу.согласно многим блогам, я добавил это к своему коду
Partial Class Person
<System.Runtime.Serialization.DataMember()> ReadOnly Property FullName
Get
Return LastName & ", " & FirstName
End Get
End Property
End Class
, но у этого подхода также есть некоторые проблемы
- , пытаясь отфильтровать это, выдает ошибку
Late binding operations cannot be converted to an expression tree.
[сейчася верю, что это правда, поскольку mssql не может фильтровать это поле, которого там не существует] - никакое другое приложение или служба не может напрямую использовать БД, так как у него нет представлений, ЕСЛИ вся логика будетбыть введенным в производительность кода EF
- , размещение полей в коде отключает всю «основанную на множестве» мощь mssql для суммирования и объединения миллионов записей (в приведенном выше примере это не имеет значения, но в итоге у меня есть гораздо больше полейэтот идентификатор нужен, например, остатки)
так, каков правильный, предпочтительный, "EF-способ" делать это?
всего наилучшего, и я ценю ваш совет