最近在学习Asp.Net MVC,数据库是正在使用中的另一个系统的MS SQL数据库,我发现,无论用Code First,还是用Database First的方式,EF都要去改变现有的数据库结构(现有数据库结构是绝对不允许更改的,否则会造成系统崩溃),例如:
public class Student
{
[Key]
public int StudentId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public StudentAddress StudentAddress { get; set; }
只要加了导览属性:“public StudentAddress StudentAddress { get; set; }”,MVC代码运行时就会给数据库加上外键约束,导致原有系统出错。如果不加导览属性,表与表之间就无法用Include实现关联查询,甚至MVC代码会报Model与数据表结构不兼容的错:cannot be constructed in a LINQ to Entities query。
我想知道,有什么方案,可以用MVC读取现有数据库,而不改变现有数据库的结构?