相关疑难解决方法(0)

实体框架代码优先 - 来自同一个表的两个外键

我刚开始使用EF代码,所以我在这个主题中完全是初学者.

我想在团队和比赛之间建立关系:1场比赛= 2队(主场,客场)和结果.我认为创建这样的模型很容易,所以我开始编码:

public class Team
{
    [Key]
    public int TeamId { get; set;} 
    public string Name { get; set; }

    public virtual ICollection<Match> Matches { get; set; }
}


public class Match
{
    [Key]
    public int MatchId { get; set; }

    [ForeignKey("HomeTeam"), Column(Order = 0)]
    public int HomeTeamId { get; set; }
    [ForeignKey("GuestTeam"), Column(Order = 1)]
    public int GuestTeamId { get; set; }

    public float HomePoints { get; set; }
    public float GuestPoints { get; set; }
    public DateTime …
Run Code Online (Sandbox Code Playgroud)

c# orm entity-framework code-first entity-framework-4.1

252
推荐指数
6
解决办法
14万
查看次数

实体框架对同一个表的多次引用

我在使用 EF 代码优先创建数据库时遇到问题。我有一个实体播放器和一个实体炸船。

每个友谊都涉及两个玩家。其中一名玩家是友谊的发送者,另一位是友谊的接收者。

这是我的实体:

播放器.cs

public class Player
{
    public int PlayerId { get; set; }

    [Required]
    public string Name { get; set; }

    [Required]
    public string Email { get; set; }

    [InverseProperty("Receiver")]
    public virtual List<Friendship> FriendshipsIncoming { get; set; }

    [InverseProperty("Sender")]
    public virtual List<Friendship> FriendshipsOutgoing { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

友谊.cs

public class Friendship
{
    public int FriendshipId { get; set; }

    public int SenderId { get; set; }
    public int ReceiverId { get; set; }

    [ForeignKey("Sender")]
    public …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework code-first ef-code-first

5
推荐指数
1
解决办法
8582
查看次数

指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。- 如何?

这个问题很容易复制,但我不知道解决它的正确方法。

例如,您有一个Team类和一个Game类。每场比赛有两支球队。使用标准 OOTB EF 命名约定时,在运行dotnet ef database update时会遇到以下错误(dotnet ef migrations add将正常运行)。

课程:

public class Team
{
    [Required]
    public int TeamID { get; set; }
    public string TeamName { get; set; }
}

public class Game
{
    [Required]
    public int GameID { get; set; }
    public int Team1ID { get; set; }
    public Team Team1 { get; set; }
    public int Team2ID { get; set; }
    public Team Team2 { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core

5
推荐指数
1
解决办法
8919
查看次数

EF Core 2.2 - 同一个表的两个外键

我有一个与这里发布的问题类似的问题: Entity Framework Code First - Twoforeign Keys from same table,但是它非常旧,不适用于 Core,我无法得到适合我的建议。

基本上,我正在尝试创建一个固定表,其中有两个指向团队表的外键。一场比赛由主队和客队组成。拥有可为空的字段不是一种选择。

考虑一场有两支球队的比赛。

public class Fixture
{
    public int Id { get; set; }
    public Team HomeTeam { get; set; }
    public int HomeTeamId { get; set; }
    public Team AwayTeam { get; set; }
    public int AwayTeamId { get; set; }

    public virtual Team HomeTeam { get; set; }
    public virtual Team AwayTeam { get; set; }
}



public class Team
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc foreign-keys entity-framework-core

3
推荐指数
1
解决办法
8887
查看次数