c# – Visual Studio 2015 LinqToExcel不起作用

c# – Visual Studio 2015 LinqToExcel不起作用,第1张

概述我有一个用VS2012编写的asp.net应用程序.在我搬到VS2015之前,我一直在使用 LinqToExcel而没有任何问题. 这是我的代码: var excel = new ExcelQueryFactory(fileName);var entriesQuery = from entry in excel.Worksheet<VEntry>(0) 我有一个用VS2012编写的asp.net应用程序.在我搬到VS2015之前,我一直在使用 LinqToExcel而没有任何问题.
这是我的代码:

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不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1226701.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存