Я пытаюсь использовать Entity Framework 4.1 RC с экземпляром SQL Server 2005. Я создал пустую базу данных и хотел бы сохранить в ней свои объекты POCO. Мой POCO выглядит так:
public class Cart
{
public Cart()
{
this.CartId = Guid.NewGuid();
}
public Guid CartId { get; set; }
public decimal TotalCost { get; set; }
public decimal SubTotalCost { get; set; }
public decimal Tax { get; set; }
public decimal EstimatedShippingCost { get; set; }
}
My CartContext:
public class CartContext : DbContext
{
public DbSet<Cart> Carts { get; set; }
public DbSet<Attribute> Attributes { get; set; }
public DbSet<AttributeItem> AttributeItems { get; set; }
}
У меня есть строка подключения:
<add name="CartContext" connectionString="Server=myserver.mynetwork.net;User ID=MyUser;Pwd=mypassword;Initial Catalog=ExistingDb" providerName="System.Data.SqlClient" \>
Когда я пытаюсь добавить объект в контекст и сохранить его, я получаю:
System.Data.Entity.Infrastructure .DbUpdateException: Произошла ошибка при обновлении записи. См. Внутреннее исключение для Детали. ---> System.Data.UpdateException: ошибка произошло при обновлении записей. Подробнее см. Внутреннее исключение. ---> System.Data.SqlClient.SqlException: Недопустимое имя объекта "dbo.Carts".
Если я профилирую базу данных, я вижу, как пользователь подключается, ищите базу данных в sys.tables, выполните этот запрос:
SELECT TOP (1)
[Extent1].[Id] AS [Id],
[Extent1].[ModelHash] AS [ModelHash]
FROM [dbo].[EdmMetadata] AS [Extent1]
ORDER BY [Extent1].[Id] DESC
Затем попытайтесь вставить объект моей тележки. Он никогда не пытается создать таблицу Carts. Я предполагаю, что что-то не так со строкой подключения, но я нигде не могу найти примеров, как это сделать.