Я пытаюсь создать базу данных, используя подход Code First. Когда я запускаю следующий код, я получаю следующее исключение. Что-то не так в полях, которые я определил? Как мы можем преодолеть это?
Исключение:
An error occurred while updating the entries. See the inner exception for details.
Внутреннее исключение:
"Invalid object name 'dbo.Dinners'.
Примечание:У меня нет такой таблицы (Ужины )в базе. Код должен создавать таблицы. Я просто дал строку подключения для идентификации сервера, как указано в EF Code First :Не удается подключиться к SQL Server . Должен ли я изменить строку подключения?
Строка соединений:
string connectionstring = "Data Source=.;Initial Catalog=LibraryReservationSystem;Integrated Security=True;Connect Timeout=30";
База данных LibraryReservationSystem уже существует. В нем нет столов. Я ожидаю, что EF создаст таблицы.
Строка подключения, которую я скопировал из рабочего приложения LINQ 2 SQL. Нужно ли мне вносить в него какие-либо изменения для поставки в EF?
ОБНОВЛЕНИЕ
Когда я включил следующий код, исключение изменилось. Теперь он говорит -«Недопустимое имя объекта« dbo.Dinner ».». Теперь жалуется на обеденный стол; не обеденный стол.
protected override void OnModelCreating(DbModelBuilder modelbuilder)
{
modelbuilder.Conventions.Remove();
}
Оригинальный КОД
static void Main(string[] args)
{
string connectionstring = "Data Source=.;Initial Catalog=LibraryReservationSystem;Integrated Security=True;Connect Timeout=30";
using (var db = new NerdDinners(connectionstring))
{
var product = new Dinner { DinnerID = 1, Title = 101 };
db.Dinners.Add(product);
int recordsAffected = db.SaveChanges();
}
}
using System.Data.Entity;
namespace LijosEF
{
public class Dinner
{
public int DinnerID { get; set; }
public int Title { get; set; }
}
public class RSVP
{
public int RSVPID { get; set; }
public int DinnerID { get; set; }
public virtual Dinner Dinner { get; set; }
}
//System.Data.Entity.DbContext is from EntityFramework.dll
public class NerdDinners : System.Data.Entity.DbContext
{
public NerdDinners(string connString): base(connString)
{
}
public DbSet Dinners { get; set; }
public DbSet RSVPs { get; set; }
}
}
ССЫЛКА