相关疑难解决方法(0)

实体框架4.1 InverseProperty属性和ForeignKey

我将使用外键在Employee和Team实体之间创建两个引用.所以我定义了两个实体如下

public class Employee
{
    public int EmployeeId { get; set; }
    public string Name { get; set; }

    [ForeignKey("FirstTeam")]
    public int FirstTeamId { get; set; }

    [InverseProperty("FirstEmployees")]
    public virtual Team FirstTeam { get; set; }

    [ForeignKey("SecondTeam")]
    public int SecondTeamId { get; set; }

    [InverseProperty("SecondEmployees")]
    public virtual Team SecondTeam { get; set; }
}

public class Team
{
    public int Id { get; set; }
    public string TeamName { get; set; }

    [InverseProperty("FirstTeam")]
    public virtual ICollection<Employee> FirstEmployees { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# mapping entity cascading-deletes entity-framework-4.1

31
推荐指数
1
解决办法
2万
查看次数

引入FOREIGN KEY约束可能会导致循环或多个级联路径

我收到了这个错误

在表'Regions'上引入FOREIGN KEY约束'FK_dbo.Regions_dbo.Countries_CountryId'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.无法创建约束.查看以前的错误.

我想知道这是否意味着我的数据库设计不好?我读到你关闭了级联或类似的东西,但我不确定这是否将问题从地毯中扫除.

我只是让EF通过我的域类生成我的表(此时我没有使用任何数据注释或流畅的映射).

       public class Country
        {
            public Country()
            {
                this.Stores = new List<Store>();
                this.Regions = new List<Region>();
                Id = GuidCombGenerator.GenerateComb();
            }

            public Guid Id { get; private set; }

            private string name;

            public string Name
            {
                get { return name; }
                set
                {
                    name = value.Trim();
                }
            }

            private string code;

            public string Code
            {
                get { return code; }
                set
                {
                    code = value.Trim();
                }
            }

            public virtual ICollection<Store> …
Run Code Online (Sandbox Code Playgroud)

entity-framework cascading

31
推荐指数
2
解决办法
4万
查看次数