我们希望在完成时引用继承的控件,因为一个Control具有可能的完成列表并保存所选的完成。 我们的表是
public class Completion
{
public int CompletionId { get; set; }
public string Text { get; set; }
public virtual Control Control { get; set; }
}
public class Control : BaseControl
{
public int ControlId { get; set; }
public virtual Completion Completion { get; set; }
public virtual ICollection<Completion> Completions { get; set; }
}
这些表的迁移有效,但如果我们尝试将完成添加到数据库,我们就会得到异常
{“SQLite错误1:'外键不匹配 - \”完成\“引用\”控制\“'”}}
我们添加像这样的完成
var completion = new Completion { Text = "completion1" };
db.Completions.Add(completion);
db.SaveChanges();
答案 0 :(得分:0)
从错误消息判断,您的问题是关于SQLite而不是EF。
$(form).submit(function(e) {
e.preventDefault();
if ($(this).find('input[name="datenschutz"]')[0].checked === false) {
alert("Please accept the terms and conditions!");
return false;
}
// rest of form
类上的public virtual Control Control { get; set; }
被视为未定义的Control表的外键。
我的猜测是你不希望将Control引用保存到SQLite中。所以在这种情况下,让SQLite忽略列
Completion