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) 

rextester demo

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

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -