我正在對vs 2010和EF 4.1與SQL服務器數據庫。 下面提到的代碼適用於本地SQL服務器數據庫(SQL 2008)。此版本的SQL Server不支持沒有聚簇索引的表
但是,當我發表了Windows Azure雲和SQL Azure的它給下文提到的錯誤 MVC應用。
- 爲什麼這個錯誤是只返回SQL Azure的(與桌面SQL Server 2008中工作)?
- 如何擺脫這個?
我的庫代碼示例如below.Below提到的錯誤呼叫 Catalog.SaveChanges當談到()方法。
using (var catalog = new DataCatalog())
{
var retailSaleReturn = new RetailSaleReturn
{
ReturnQuantity = returnQuantity,
Product = saleDetailObj.Product,
Owner = owner,
Provider = provider,
};
//add to context
Catalog.RetailSaleReturns.Add(retailSaleReturn);
//save for db
Catalog.SaveChanges();
}
DbUpdateException是象下面這樣:
{"An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details."}
的InnerException是象下面這樣:
{"Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again."}
堆棧跟蹤是像下面
at System.Data.Entity.Internal.InternalContext.SaveChanges()
at PawLoyalty.Data.Repositories.CustomersRepository.ReturnRetailOnlySales(Guid saleDetailId, Int32 returnQuantity, String providerKey, String ownerKey) in D:\PawLoyalty Module\PawLoyalty\PawLoyalty\PawLoyalty.Data\Repositories\CustomersRepository.cs:line 550
at PawLoyalty.Web.Areas.Providers.Controllers.CustomersController.ReturnRetailOnlySales(String providerKey, String ownerKey, String petKey, Guid saleDetailId, Int32 returnQuantity) in D:\PawLoyalty Module\PawLoyalty\PawLoyalty\PawLoyalty.Web\Areas\Providers\Controllers\CustomersController.cs:line 942
at lambda_method(Closure , ControllerBase , Object[])
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
Thanks.When創建工作一個主key.Its。 ALTER TABLE [dbo]。[RetailSaleReturns] ADD PRIMARY KEY([Id]) – Sampath
此外,有一點需要牢記,不能在表中留下索引而不留下索引。 –