我有一個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)。
你能告訴我們這些類的屬性嗎?有一個字符串屬性,您需要更改較大字符串長度的映射配置。 – Mez
確保'PriceGaranties'中每個屬性的數據長度與數據庫表中的相同。 – Kaf
您已將數據庫中的字符串長度指定爲比要添加到其中的字符串短。例如。您可能已將數據庫中的varchar長度設置爲10,但要添加的字符串是11,15,20等字符。數據庫不知道如何處理它,所以它只是切斷多餘的字符。嘗試將數據庫中的字段長度設置爲更大的長度。也不要成爲拼寫的堅持者,但是你拼寫錯誤的保證就像你一樣。除非這個詞意味着別的什麼?哈哈。 –