2014-08-27 56 views
0

中无效我要回到EF(代码优先),并尝试使用DataAnnotations建立1-1关系。Enity Framework迁移 - 多重性在角色

public class CmsMember 
{ 
    [Key] 
    public int nodeId { get; set; } 
    public string Email { get; set; } 
    public string LoginName { get; set; } 
    public string Password { get; set; } 

    public Client Client { get; set; } 
} 
public class Client 
{ 
    [ForeignKey("CmsMember")] 
    public int nodeId { get; set; } 
    public int ClientId { get; set; } 
    public string ClientName { get; set; } 

    public CmsMember CmsMember { get; set; } 
} 

我卡上的错误(上附加转移命令)说:

** \ tSystem.Data.Entity.Edm.EdmAssociationEnd:多重不是有效的作用关系'Client_CmsMember'中的'Client_CmsMember_Source'。由于依赖角色属性不是关键属性,所以从属角色的多重性的上限必须是''。 *

任何提示将不胜感激。

回答

1

您需要的关键属性,因为你的属性名称不约定匹配属性上面。

[Key, ForeignKey("CmsMember")] 
public int nodeId { get; set; } 
+0

感谢它解决了EF问题,但现在当试图插入数据到数据库我得到“无法在IDENTITY_INSERT设置为OFF时在表'客户端'中为标识列插入显式值”。任何想法? – 2014-08-27 09:54:36

+0

数字键的默认约定是identity,如果您有sql查询语法来显式设置id,那可能是原因 – 2014-08-27 09:56:20

1

我认为this应该可以帮到你。有相同的错误,你的代码是相似的。您需要更改属性的地方为好,应该是你想在你的情况下使用上述

public CmsMember CmeMember { get; set; }