Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架配置问题(EF代码优先)_C#_.net_Entity Framework_Entity - Fatal编程技术网

C# 实体框架配置问题(EF代码优先)

C# 实体框架配置问题(EF代码优先),c#,.net,entity-framework,entity,C#,.net,Entity Framework,Entity,我正在为以下模型使用每个层次的表: 故事(基类) -个人故事(子类) -团队故事(子类) 我希望在两个派生类型之间共享表中的列,但我希望在每个类中对其进行不同的命名。这可能吗?我尝试了一些不同的方法,但无法正确解决(如果需要的话,可以在明天的工作中挖掘出确切的异常) 谢谢 如果说“share”,您的意思是希望两个子类都使用具有不同名称的数据库字段(而不是基类),只要它不是discriminator列就可以了。只需在每个子类型上创建标量属性,并将适当的属性映射到公共字段。不,这是不可能的。列映射到

我正在为以下模型使用每个层次的表:

故事(基类) -个人故事(子类) -团队故事(子类)

我希望在两个派生类型之间共享表中的列,但我希望在每个类中对其进行不同的命名。这可能吗?我尝试了一些不同的方法,但无法正确解决(如果需要的话,可以在明天的工作中挖掘出确切的异常)


谢谢

如果说“share”,您的意思是希望两个子类都使用具有不同名称的数据库字段(而不是基类),只要它不是discriminator列就可以了。只需在每个子类型上创建标量属性,并将适当的属性映射到公共字段。

不,这是不可能的。列映射到基类中的属性,该属性在子类中派生。您无法更改派生类中属性的名称,并且EF不允许映射派生类中的共享属性(它们必须映射到基类中)。

抱歉,我必须编辑我的问题。我在个人故事中添加了一个属性,该属性与确切的列名匹配,然后用不同的名称将一个属性添加到团队故事中。我添加了映射,但失败了。我编辑的问题会改变你的反应吗?@Marco:不,它不应该改变它。我需要知道您得到的实际错误才能提供帮助。列名为TelleId,错误为“无效列名'TelleId1.”,下面是我的映射:modelBuilder.Entity().Property(p=>p.TeamLeaderUserId)。HasColumnName(“TelleId”)@马可:你是先用代码吗?如果是这样,我帮不了你;你可能想在问题中注意到这一点。