我希望使用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; }
}
我的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表。我猜测连接字符串存在问题,但是我无法找到任何关于如何解决此问题的示例。