首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Npoco FetchOneToMany?

如何使用Npoco FetchOneToMany?
EN

Stack Overflow用户
提问于 2012-10-22 20:49:25
回答 1查看 3.8K关注 0票数 3

我正在尝试使用恩波科,但是FetchOneToMany遇到了一些问题

我有一个sql语句,它将两个表连接在一起,并输出所有列。

代码语言:javascript
复制
   [TableName("TableA")]
    [PrimaryKey("Id")]
    public class TableA
    {
        public int Id { get; set; }
        public DateTime EffectiveDate { get; set; }
         public IList<TableB> TableBs { get; set; }
    }

    [TableName("TableB")]
    [PrimaryKey("TableBId")]
    public class TableB
    {
        public int TableBId { get; set; }
        public int SomeNumber { get; set; }
          public int Id { get; set; } // TableA id
    }


Func<TableA, object> func1 = (x) => x.Id;
            Func<TableB, object> func2 = (x) => x.Id;
  var test = RelationExtensions.FetchOneToMany<AdminFeeBandGroup, AdminFeeBand>(unitOfWork.Db, func1,func2,sql, 1,1,"10-18-2012","10-22-2012");

我在实际查询中传递4个参数。我得到了一个结果,TableBs property被填满了,看起来很好。但是,由于某些原因,EffectiveDate没有被填充,这是默认的C#时间。

我遗漏了什么?

编辑

这就是我的疑问

代码语言:javascript
复制
SELECT     TableA.Id, TableA.EffectiveDate, TableB.TableBId, TableB.SomeNumber
FROM         TableA INNER JOIN
                      TableB ON TableA.Id = TableB.Id
WHERE     (TableA.EffectiveDate = @0)


Func<TableA, object> func1 = (x) => x.Id;
            Func<TableB, object> func2 = (x) => x.Id;
  var test = RelationExtensions.FetchOneToMany<AdminFeeBandGroup, AdminFeeBand>(unitOfWork.Db, func1,func2,sql, "10-18-2012");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-23 00:23:01

它应该是这样运作的。

代码语言:javascript
复制
var sql = "select a.*, b.* from tablea a 
    inner join tableb b on a.id = b.id 
    where EffectiveDate = @0"

List<TableA> results = 
    db.FetchOneToMany<TableA,TableB>(x=>x.Id, sql, new DateTime(2012,10,18))

必须确保所选列的顺序与列出泛型参数的顺序相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13019625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档