【问题标题】:Using constructor to load data in subsonic3?使用构造函数在 subsonic3 中加载数据?
【发布时间】:2010-03-31 10:42:04
【问题描述】:

我在尝试通过构造函数加载记录时遇到错误。

构造函数是:

public Document(Expression<Func<Document,bool>> expression);

我尝试像这样加载单个项目

var x = new Document(f=>f.publicationnumber=="xxx");

publicationnumber 不是密钥,但尝试将其设为唯一密钥,但仍然不行..

关于构造函数的使用我完全错了吗?有人可以告诉我如何使用该构造函数吗?

我得到的错误是:
测试方法TestProject1.UnitTest1.ParseFileNameTwoProductSingleLanguage抛出异常:System.NullReferenceException:

使用以下堆栈跟踪:

SubSonic.Query.SqlQuery.Where[T](Expression1` expression)
Load`[T]`(T item, Expression
1expression)
db.Document..ctor(Expression``1
表达式) 在 C:\@Projects\DocumentsSearchAndAdmin\DocumentsSearchAndAdmin\Generated\ActiveRecord.cs:第 5613 行
为简单起见,其余部分已删除

问候
丹尼斯

【问题讨论】:

  • 我对亚音速一无所知,但你的意思是 =="xxx"(两个等于?)。

标签: subsonic substring subsonic-active-record


【解决方案1】:

使用== 代替=,即:

...(f=>f.publicationnumber == "xxx");

【讨论】:

    【解决方案2】:

    我刚刚获得了 SubSonic 源代码,发现它与表达式解析器有关,而且我对此缺乏了解。我的表达式右侧实际上是字符串数组中的一个项目 - 和 s[PUBNO ](PUBNO 是一个常量)并且它正在寻找一个名为 s 而不是publicationnumber 的列,我不知道这个 ia 错误是否在 linq 类中

    不过——我已经设法通过创建一个包含 s[PUBNO] 值的局部变量并使用它来代替它...

    //丹尼斯

    【讨论】:

      猜你喜欢
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      相关资源
      最近更新 更多