Sto lavorando su vs 2010 e EF 4.1 con Database server SQL. Il codice riportato di seguito funziona correttamente con il DB del server SQL locale (SQL 2008).Le tabelle senza indice cluster non sono supportate in questa versione di SQL Server
Ma quando ho pubblicato l'applicazione MVC per Windows Azure il cloud e SQL Azure sta dando errore di seguito indicato.
- Perché questo errore è soltanto il ritorno SQL Azure (lavorando con desktop del server SQL 2008)?
- Come sbarazzarsi di questo?
mio repository esempio di codice metodo come below.Below menzionato errore arriva al momento della chiamata 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 è come di seguito:
{"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 è come di seguito:
{"Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again."}
StackTrace è come sotto
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 creo un key.Its primarie di lavoro. ALTER TABLE [dbo]. [RetailSaleReturns] ADD PRIMARY KEY ([Id]) – Sampath
Inoltre, una cosa da tenere a mente, non è possibile rilasciare un indice su un tavolo senza lasciare indici. –