保存到具有Entity Framework的数据库时,“指定的成员映射无效”错误

时间:2016-08-24 11:00:47

标签: c# asp.net sql-server entity-framework

完整的错误消息如下:

  

(46,12):错误2019:指定的成员映射无效。类型   'Edm.String [可空=真,默认值=,的MaxLength =最大,Unicode的=真,定长=假]'   “HotelSearch.APP_SEJOUR”类型中的成员“SEJ_STARDATE”不是   兼容   成员的'SqlServer.date [Nullable = True,DefaultValue =,Precision = 0]'   'CodeJirstDatabaseSchema.APP_SEJOUR'类型中的'SEJ_STARDATE'。 (47,12):   错误2019:指定的成员映射无效。类型   'Edm.String [可空=真,默认值=,的MaxLength =最大,Unicode的=真,定长=假]'   “HotelSearch.APP_SEJOUR”类型中的成员“SEJ_ENDDATE”不是   兼容   成员的'SqlServer.date [Nullable = True,DefaultValue =,Precision = 0]'   'CodeJirstDatabaseSchema.APP_SEJOUR'类型中的'SEJ_ENDDATE'。 (112,12):   错误2019:指定的成员映射无效。类型   'Edm.String [可空=真,默认值=,的MaxLength =最大,Unicode的=真,定长=假]'   “HotelSearch.RFS_PRIX_R”类型中的成员'PRIX_PRICE'不是   兼容   成员的'SqlServer.date [Nullable = True,DefaultValue =,Precision = 0]'   “CodeFirstDatabaseSchema.RFS_PRIX_R”类型中的“PRIX_PRICE”。

代码如下:

var h = new Hotel();

var t = new APP_STAR {
            STA_IDSTAR = 11111,
            STA_STARRATING = "blah",
         };
h.APP_STAR.Add(t);
h.SaveChanges();

显然,这只是用于测试的虚拟数据。任何人都可以指出我正确的方向来解决这个错误吗?

1 个答案:

答案 0 :(得分:1)

错误信息非常清楚:

The type 'Edm.String' of member 'SEJ_STARDATE' in type 'HotelSearch.APP_SEJOUR' is not compatible with 'SqlServer.date

通过操纵其内容或使用DateTime.Parse将edm.String更改为可识别的日期时间格式(MM / DD / YYYY)