
这是我的代码:
var excel = new ExcelqueryFactory(filename);var entrIEsquery = from entry in excel.Worksheet<VEntry>(0) where entry.MovIE@R_403_5979@ != null select entry; var entrIEs = entrIEsquery.ToList();
VEntry类
public class VEntry { [ExcelColumn("ID kolekcji")] [DefaultValue("")] public String CollectionID { get; set; } [ExcelColumn("nazwa kolekcji")] [DefaultValue("")] public String Collectionname { get; set; } [ExcelColumn("Tytuł serialu/serii/filmu")] [DefaultValue("")] public String MovIE@R_403_5979@ { get; set; } [ExcelColumn("Tytuł odcinka")] [DefaultValue("")] public String Episode@R_403_5979@ { get; set; } [ExcelColumn("Sezon")] [DefaultValue("")] public String Season { get; set; } [ExcelColumn("nr odcinka")] [DefaultValue("")] public String EpisodeNumber { get; set; } [ExcelColumn("Start")] public DateTime StartDate { get; set; } [ExcelColumn("KonIEc")] public DateTime EndDate { get; set; } [ExcelColumn("Kategoria tematyczna")] [DefaultValue("")] public String category { get; set; } [ExcelColumn("Cena")] [DefaultValue("")] public String Price { get; set; } [ExcelColumn("kategoria wIEkowa")] [DefaultValue("")] public String Agecategory { get; set; } [ExcelColumn("Seria (0/1)")] [DefaultValue("")] public bool IsSerIEs { get; set; } [ExcelColumn("Box set (0/1)")] [DefaultValue("")] public bool IsBoxSet { get; set; } [ExcelColumn("Cały sezon")] [DefaultValue("")] public bool IsFullSeason { get; set; } } 它在VS2012上运行良好.当我在VS2015中构建它时,我会在线上获得异常
var entrIEs = entrIEsquery.ToList();:Object must implement IConvertible. at System.Convert.ChangeType(Object value,Type conversionType,IFormatProvIDer provIDer) at linqToExcel.Extensions.CommonExtensions.Cast(Object object,Type castType) at linqToExcel.Extensions.CommonExtensions.Cast[T](Object object) at linqToExcel.Extensions.CommonExtensions.IsNullValue(Expression exp) at linqToExcel.query.WhereClauseExpressionTreeVisitor.VisitBinaryExpression(BinaryExpression bExp) at linqToExcel.query.sqlGeneratorqueryModelVisitor.VisitWhereClause(WhereClause whereClause,queryModel queryModel,Int32 index) at Remotion.Data.linq.queryModelVisitorBase.VisitbodyClauses(ObservableCollection`1 bodyClauses,queryModel queryModel) at linqToExcel.query.sqlGeneratorqueryModelVisitor.VisitqueryModel(queryModel queryModel) at linqToExcel.query.ExcelqueryExecutor.GetsqlStatement(queryModel queryModel) at linqToExcel.query.ExcelqueryExecutor.ExecuteCollection[T](queryModel queryModel) at Remotion.Data.linq.Clauses.StreamedData.StreamedSequenceInfo.ExecutequeryModel(queryModel queryModel,IqueryExecutor executor) at Remotion.Data.linq.queryProvIDerBase.Execute[TResult](Expression Expression) at Remotion.Data.linq.queryableBase`1.GetEnumerator() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Logic.importers.Vodimporter.Vodimporter.Run(String filename,Boolean publishAfterimport) in C:\ncplus\npl\Logic\importers\Vodimporter\Vodimporter.cs:line 103 at Website.sitecore_modules.Shell.Editors.VodimporterEditor.Page_Load(Object sender,EventArgs e)
但是当我在VS2012中构建它时,它再次起作用.可能有什么不对?我不知道.
编辑:在VS2013上也可以.
解决方法 我假设’MovIE@R_403_5979@’不接受模型中的空值.如果这是真的,请将您的where子句更改为以下内容.var entrIEsquery = from entry in excel.Worksheet<VEntry>(0) where entry.MovIE@R_403_5979@ != string.Empty select entry;总结
以上是内存溢出为你收集整理的c# – Visual Studio 2015 LinqToExcel不起作用全部内容,希望文章能够帮你解决c# – Visual Studio 2015 LinqToExcel不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)