c# - Entity Framework creates wrong model from stored procedure -
i have stored procedure "get_partner" this:
select ... partners.name 'name' -nvarchar partners.city 'city' -nvarchar null 'sales' -money null 'comments' -nvarchar ... i have added entity framework 6 project , set create model database , creates model "get_partner_result" this:
//------------------------------------------------------------------------------ // <auto-generated> // code generated template. // // manual changes file may cause unexpected behavior in application. // manual changes file overwritten if code regenerated. // </auto-generated> //------------------------------------------------------------------------------ namespace wsexport.model { using system; public partial class get_partner_result { public string name {get; set;} public string city {get; set;} public nullable<int> sales {get; set;} -wrong datatype public nullable<int> comments {get; set;} -wrong datatype } } how can modify stored procedure, or possible configure ef create model correct datatypes? this:
public nullable<decimal> sales {get; set;} public string comments {get; set;}
by default null int datatype. use cast:
select ... partners.name name --nvarchar ,partners.city city --nvarchar ,cast(null money) sales --money ,cast(null nvarchar(1000)) comments --nvarchar quick check of metadata:
select name, system_type_name sys.dm_exec_describe_first_result_set(n'select null c', null, 0) you check entire store procedure's metadata using:
select name, system_type_name sys.dm_exec_describe_first_result_set(n'exec get_partner params..', null, 0)
Comments
Post a Comment