我使用的是Simple.Data,在最后一行试图运行下面的代码时会收到以下错误:在System.Core.dll中出现了一个未处理的'System.ArgumentException‘类型异常。
var db = Database.OpenConnection(ConnectionString);
var product = db.DimDistrict.FindByDistrict("HOUSE");
//db.FunnelQuotes.Insert(
// Company: funnelQuotes[0].Company,
// Opportunity: funnelQuotes[0].Opportunity,
// QuoteNumber: funnelQuotes[0].QuoteNumber,
// QuotedPrice: funnelQuotes[0].QuotedPrice);
IList<FunnelQuote> retrows = db.FunnelQuotes.Insert(funnelQuotes).ToList();注意,注释掉的代码可以工作。
编辑:添加类定义
class FunnelQuote
{
public string Company { get; set; }
public string Opportunity { get; set; }
public string QuoteNumber { get; set; }
public float QuotedPrice { get; set; }
}发布于 2016-12-14 20:25:57
由于我找不出为什么这不起作用,所以我最终只能在foreach循环中一次只插入一条记录。然而,我发现了问题的根源。这是由于字段大小太小,例如,数据库中有一个字段的NVARCHAR( 10 )数据类型,但其中一行的字段大于10个字符。原来,foreach循环只是通过截断字段来隐藏错误。因此,我想我应该指出Simple.Data的行为,这取决于您如何进行插入。
https://stackoverflow.com/questions/40389579
复制相似问题