C# 无法插入包含简单.Data的记录
我正在使用Simple.Data,在尝试运行下面的代码时,我在最后一行收到以下错误:System.Core.dll中发生了类型为“System.ArgumentException”的未处理异常C# 无法插入包含简单.Data的记录,c#,.net,simple.data,C#,.net,Simple.data,我正在使用Simple.Data,在尝试运行下面的代码时,我在最后一行收到以下错误:System.Core.dll中发生了类型为“System.ArgumentException”的未处理异常 var db = Database.OpenConnection(ConnectionString); var product = db.DimDistrict.FindByDistrict("HOUSE"); //db.FunnelQuotes.Insert( //
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();
因为我无法找出为什么这不起作用,所以我最终只是在foreach循环中一次插入一条记录。然而,我发现了问题的根源。这是由于字段大小太小造成的,例如,我在数据库中有一个字段的NVARCHAR(10)数据类型,但其中一行的该字段大于10个字符。原来foreach循环只是通过截断字段来隐藏错误。所以我想我应该指出Simple.Data的行为,这取决于插入的方式
db.FunnelQuotes.Insert(
Company: funnelQuotes[0].Company,
Opportunity: funnelQuotes[0].Opportunity,
QuoteNumber: funnelQuotes[0].QuoteNumber,
QuotedPrice: funnelQuotes[0].QuotedPrice
);
List<FunnelQuote> retrows = db.Quotes.Insert(funnelQuotes).ToList();
List retrows=db.Quotes.Insert(漏斗状引号).ToList();
我认为对于insert方法,funnelQuotes是一个错误的参数,为什么说funnelQuotes是一个错误的参数?那么它应该是什么呢?因为它是失败行中唯一的参数。如果你需要更好的答案,我需要更多的信息。向我们展示FunnelQuotes类可能会有所帮助。我添加了类定义。没什么大不了的。只有一些公共财产。是否有我需要实现的方法?我刚刚添加了getter和setter,现在的错误是:“System.Core.dll中发生了类型为'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'的未处理异常”。似乎是动态的问题。请在VS调试器设置中选中“仅我的代码”。附加->选项->调试->常规->仅我的代码。也许这只是内部异常,不会影响您的程序。
db.Quotes.Insert(funnelQuotes);
List<FunnelQuote> retrows = db.Quotes.Insert(funnelQuotes).ToList();