Entity Framework How to specify paramter type in generated SQL (SQLServer 2005) Nvarchar vs Varchar
- by Gratzy
In entity framework I have an Entity 'Client' that was generated from a database. There is a property called 'Account' it is defined in the storage model as:
<Property Name="Account" Type="char" Nullable="false" MaxLength="6" />
And in the Conceptual Model as:
<Property Name="Account" Type="String" Nullable="false" />
When select statements are generated using a variable for Account i.e.
where m.Account == myAccount...
Entity Framework generates a paramaterized query with a paramater of type NVarchar(6). The problem is that the column in the table is data type of char(6). When this is executed there is a large performance hit because of the data type difference. Account is an index on the table and instead of using the index I believe an Index scan is done.
Anyone know how to force EF to not use Unicode for the paramater and use Varchar(6) instead?