今天我开始关注实体框架教程:Simple Code First Example
我想我应该拥有它应有的一切,但我的应用程序不起作用。
这是我的代码:
public class Student
{
public Student()
{
}
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime DateOfBirth { get; set; }
public byte[] Photo { get; set; }
public decimal Height { get; set; }
public float Weight { get; set; }
public Standard Standard { get; set; }
}
public class Standard
{
public Standard()
{
}
public int StandardId { get; set; }
public string StandardName { get; set; }
public ICollection<Student> Students { get; set; }
}
public class SchoolContext : DbContext
{
public SchoolContext()
: base()
{
}
public DbSet<Student> Students { get; set; }
public DbSet<Standard> Standards { get; set; }
}
class Program
{
static void Main(string[] args)
{
using (var ctx = new SchoolContext())
{
Student stud = new Student() { StudentName = "New Student" };
ctx.Students.Add(stud);
ctx.SaveChanges();
Console.WriteLine("done.");
}
}
}
它构建时没有任何错误或警告,控制台启动,但它没有超过
ctx.Students.Add(stud);
它也没有创建任何数据库和表格。
我按照教程中的所有内容进行操作,并且不知道为什么它不起作用。
编辑: 它确实抛出了60秒的错误(附加信息在抛光,我现在不知道如何在VS中将其更改为英文): EntityFramework.dll中出现未处理的“System.Data.SqlClient.SqlException”类型异常
其他信息:Wystąpiłbłądzwiązanyzieciąlubwystąpieniempodczasustanawianiapołączeniazserwerem programu SQL Server。 niemożnaodnaleźćserweralub jestonniedostępny。 Sprawdź,czynazwawystąpieniajestpoprawna i czy konfiguracja serwera programu SQL Server zezwalanapołączeniazdalne。 (提供者:SQL网络接口,错误:26 - Błądpodczaslokalizowaniaokreślonegoserwera/wystąpienia)
我必须补充一点,我正在使用Visual Studio 2013社区和此版本的visual studio中包含的localDB。
答案 0 :(得分:0)
您是否尝试将导航属性设为虚拟?此外,如果要将这两个Student和Standard类相互连接,则需要定义外键。
例如,在学生班中添加:
public class Student
{
public Student()
{
}
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime DateOfBirth { get; set; }
public byte[] Photo { get; set; }
public decimal Height { get; set; }
public float Weight { get; set; }
public int StandartID{get;set;}//foreign key references Standard(StandardId)
public virtual Standard Standard { get; set; }//navigation property
}
这在Stadart课上:
public class Standard
{
public Standard()
{
}
public int StandardId { get; set; }
public string StandardName { get; set; }
public int StudentID{get;set;}//foreign key references Student(StudentID)
public virtual ICollection<Student> Students { get; set; }
}
希望这会对你有所帮助