我正在处理一个项目,该项目只需填写一串文本框并单击一个按钮,该按钮将文本框中的值添加到类的新实例中的各自变量中,并保存此实例数据库中的类。
我首先创建了数据库并使用Entity Frameworks从中创建了类,所以我知道它们是相互链接的。 我班级的一般代码如下所示:
public partial class AnaestheticRecord
{
public int PatientID { get; set; }
public System.DateTime Date { get; set; }
public string Owner_Name { get; set; }
//25 other attributes of class
...
//methods------------------------------------------------
//get number of instances of class (objects + 1 creates new PatientID)
private static int objects = 0;
public AnaestheticRecord()
{
++objects; //add one to count
}
~AnaestheticRecord()
{
--objects; //remove one from count
}
public static int getPatientID()
{
objects += 1; //add 1 more to create previously unused value
return objects; //return new value
}
因此,当需要添加代码来生成应用程序函数时,我首先声明了上面显示的类的新实例,以及应允许访问数据库的Entities类...
public partial class Form1 : Form
{
//empty instance of class, each property takes data through console input
AnaestheticRecord aRecord = new AnaestheticRecord(); //create new instance of anaesthetic record class ready for data input
List<AnaestheticRecord> recordCollection = new List<AnaestheticRecord>(); //create list to store instances of anaesthetic records (display-record purposes)
BlueBookDBEntities db = new BlueBookDBEntities(); //create entities to run database
这一切都运行正常,但是一旦填写了一系列文本框并单击按钮将此记录添加到数据中,将运行以下代码并生成错误:
private void btnSaveRecord_Click(object sender, EventArgs e)
{
//transfer and convert values from input to respective field in record
addToClass();
recordCollection.Add(aRecord); //add completed instance of class to list
db.TblAnaestheticRecords.Add(aRecord); //add completed anaesthetic record to database (ERROR)
db.SaveChanges(); //save new input to database
}
此时,行&#39; db.TblAnaestheticRecords.Add(aRecord)&#39;抛出错误声明&#34;实体类型AnaestheticRecord不是当前上下文的模型的一部分&#34;。
我有点卡在这里,因为我无法看清我做错了什么。在使用MVC之前我已经完成了这类工作,其中为您完成了更多的基础工作,但这是我第一次使用链接到Windows窗体应用程序的数据库。 如果有人能指出我哪里出错了,并且可能指出我正确的方向如何克服这个错误,我会非常感激。
谢谢, 标记
答案 0 :(得分:0)
在上下文中,您还需要插入AnaestheticRecord DbSet(所有相关表,关系表为1 DbSet)