ASP.NET MVC 链接到另一个相同类型的对象
本文关键字:同类型 对象 另一个 NET MVC 链接 ASP | 更新日期: 2024-11-03 21:01:34
我有一组问题。每个问题都有一个指向另一个问题的链接(下一个问题)。如何在模型中正确实现这一点?我认为变体
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace TestAlibra.Models
{
public class Question
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
public int NextQuestion { get; set; }
}
}
将是错误的,因为这不符合 EF 标准。也像
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace TestAlibra.Models
{
public class Question
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
public int QuestionID { get; set; }
public virtual Question Question { get; set; }
}
}
看起来很奇怪;我认为这也是错误的。
感谢您的帮助!
你应该使用:
public class Question
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
public int? QuestionID { get; set; }
public virtual Question Question { get; set; }
}
通过命名约定,QuestionID
将转换为外键。
请注意,我将其更改为 int?
,这是因为您需要外键可为空,否则将无法插入到需要链接到自身的表中(您将如何插入第一个元素?
如果您选择从数据库生成类,则正是数据库优先将为您自动生成的类。