В структуре сущностей у меня есть сущность «Клиент», сгенерированная из базы данных. Существует свойство с именем «Account», которое определяется в модели хранения как:
<Property Name="Account" Type="char" Nullable="false" MaxLength="6" />
А в Концептуальной модели как:
<Property Name="Account" Type="String" Nullable="false" />
Когда выписки выбора генерируются с использованием переменной для учетной записи, т. Е.
where m.Account == myAccount...
Entity Framework генерирует параметризованный запрос с параметром типа NVarchar (6). Проблема в том, что столбец в таблице является типом данных char (6). Когда это выполняется, происходит значительное снижение производительности из-за разницы типов данных. Учетная запись - это индекс в таблице, и вместо использования индекса я считаю, что сканирование индекса выполнено.
Кто-нибудь знает, как заставить EF не использовать Unicode для параметра и использовать вместо этого Varchar (6)?