2014-12-22 59 views
0

我有一個PriceId,我得到一些PriceGaranties它,我試圖刪除PriceGaranties通過更新Price並看到此錯誤。字符串或二進制數據將被截斷。語句已被終止,同時刪除數據

下面是代碼:

public void DeletePriceGaranties(int priceId) 
{ 
    var deletedPriceGaranties = context.PriceGaranties.Where(p => p.PriceId == priceId).ToList(); 
    foreach (var priceGaranty in deletedPriceGaranties) 
    { 
     context.PriceGaranties.Remove(priceGaranty); 
     context.SaveChanges(); 
    } 
} 

錯誤是:

字符串或二進制數據將被截斷。該聲明已被終止 。

更新

下面是型號:

public class Price 
{ 
    public int PriceId { get; set; } 
    public int ProductId { get; set; } 
    public int ClassId { get; set; } 
    public int ClassPartnerId { get; set; } 
    public int UserId { get; set; } 
    public decimal Cost { get; set; } 
    public string Url { get; set; } 
    public string Description { get; set; } 
    public DateTime LastUpdate { get; set; } 
    public bool Enable { get; set; } 
    public int CostTypeId { get; set; } 
    public int Value { get; set; } 
    public Class Class { get; set; } 
    public Product Product { get; set; } 
    public User User { get; set; } 
    public List<OldPrice> OldPrices { get; set; } 
    public List<PriceColor> PriceColors { get; set; } 
    public List<PriceGaranty> PriceGaranties { get; set; } 
    public ClassPartner ClassPartner { get; set; } 
} 

public class PriceGaranty 
{ 
    public int PriceGarantyId { get; set; } 
    public int PriceId { get; set; } 
    public int GarantyId { get; set; } 
    public Comparing.Model.Price.Price Price { get; set; } 
} 

而且所有的字符串類型都是爲nvarchar(MAX)。

+0

你能告訴我們這些類的屬性嗎?有一個字符串屬性,您需要更改較大字符串長度的映射配置。 – Mez

+1

確保'PriceGaranties'中每個屬性的數據長度與數據庫表中的相同。 – Kaf

+0

您已將數據庫中的字符串長度指定爲比要添加到其中的字符串短。例如。您可能已將數據庫中的varchar長度設置爲10,但要添加的字符串是11,15,20等字符。數據庫不知道如何處理它,所以它只是切斷多餘的字符。嘗試將數據庫中的字段長度設置爲更大的長度。也不要成爲拼寫的堅持者,但是你拼寫錯誤的保證就像你一樣。除非這個詞意味着別的什麼?哈哈。 –

回答

4

您已指定數據庫中字符串的長度比您要添加的長度短。例如。你可能在數據庫中設置了一個長度爲10的varchar長度,但是你想要添加的字符串是11,15,20等字符。數據庫不知道如何處理它,所以它只是切斷多餘的字符。嘗試將數據庫中的字段長度設置爲更大的長度。

This image provides an example of how truncation works in SQL server.

+1

「Your數據庫「的標題應該真的讀取」你的數據庫表「我的不好。 –

+0

感謝您花時間。 –

相關問題