How can the type of SQL query parameter be controlled when using a string property in .NET Entity Framework -



How can the type of SQL query parameter be controlled when using a string property in .NET Entity Framework -

on database table there column of type char(2).

when utilize parameter in linq such .where(x => x.code == code) sql query parameter translated varchar(max) char(2) in order avoid implicit conversion. because query not using indexes of database in way like.

property(c => c.code) .hascolumntype("char") .isfixedlength() .hasmaxlength(2);

the code first mapping shown above. thing seems impact translation .hascolumntype("char") doesn't seem impact query translation, influences whether picks varchar(max) or nvarchar(max).

i have thought of 2 solutions, 1 database changed uses int , lookup instead of char code, other convert code utilize expression. 2 things i'd rather not do, if there improve way command mappings sql.

i worked out way accomplish this.

instead of using .where(x => x.code = code)

i using

var codes = new string[] { code }

...

.where(x => codes.contains(x.code))

this translates constant in query rather parameter.

entity-framework-4

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -