Entity Framework Exception :Недопустимое имя объекта

Я пытаюсь создать базу данных, используя подход 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?

enter image description here

ОБНОВЛЕНИЕ

Когда я включил следующий код, исключение изменилось. Теперь он говорит -«Недопустимое имя объекта« 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; }
}
}

ССЫЛКА

  1. http://nerddinner.codeplex.com/discussions/358197
  2. Структура сущности -Недопустимое имя объекта
  3. Недопустимое имя объекта «dbo.TableName» при извлечении данных из сгенерированной таблицы
  4. http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx

27
задан 17 revs, 2 users 98% 4 February 2018 в 00:58
поделиться