在数据库中添加新列时,ADO.net Entity Framework中指定的成员映射是无效的。

时间:2011-09-29 06:59:28

标签: entity-framework ado.net nopcommerce

我对ADo.net entity框架很新,我收到以下错误

 The type 'Edm.Byte' of the member 'IsActive' in the conceptual side type 
 NopSolutions.NopCommerce.BusinessLogic.Data.Language' does not match with the type 
 System.Boolean' of the member 'IsActive' on the object side type   NopSolutions.NopCommerce.BusinessLogic.Directory.Language'.

据我所知,有一些与 edm 对象 <的数据类型相关的缺失/ p>

但我在数据库表中创建了一个列类型,在langauge.cs我声明了

的属性
   public bool IsActive { get; set; }

我可以在这里发布所需的任何细节

编辑:

因为我谷歌周围我在stackoverflow上发现了这个问题

et-model-property-to-boolean-in-entity-framework将字节更改为布尔值以映射tinyint

但在我的情况下,我在数据库中也有点。

1 个答案:

答案 0 :(得分:9)

假设你有一个.edmx文件,你可以修改。在XML编辑器中打开它并搜索<edmx:ConceptualModels> - 元素。这应该包含你的实体的定义,寻找<EntityType Name="Language"> - 元素,它应该声明这样的东西:

<Property Name="IsActive" Type="Byte" Nullable="false" />

Type - 属性更改为Boolean

我很确定您也可以在设计师中执行此操作,但如果您无法直接访问.edmx,请告诉我,我们会解决问题。