亚音速 3 + LINQ 错误

发布于 2024-08-02 12:19:53 字数 739 浏览 3 评论 0 原文

Subsonic 3.0.0.3 的一个奇怪的错误

使用 - 作为示例 - AdventureWorksLT DB

当我运行此代码时

,我得到的 gname 为 null (尽管 name 的值正常) w 是 0 而不是第一行的值 [如果我将选择新的 MyData 更改为仅选择 MyData - 它工作正常]

class Program {
    static void Main(string[] args) {

        var q = from g in Product.All()
                select new MyData{
                    gname = g.Name,
                    name = g.Name,
                    w = g.Weight.Value
                };
        var list00 = q.Take(1).ToList();
        Console.WriteLine(list00[0].gname);
    }
}
public class MyData {
    public string gname { get; set; }
    public string name { get; set; }
    public decimal w { get; set; }
}

了什么问题

谢谢迈克

任何想法出

A weird bug with Subsonic 3.0.0.3

Using - as an example - AdventureWorksLT DB

When I run this code

I get null for gname (although name gets the value ok)
And w is 0 instead of the value in the 1st row
[If I change select new MyData to just select MyData - it works OK]

class Program {
    static void Main(string[] args) {

        var q = from g in Product.All()
                select new MyData{
                    gname = g.Name,
                    name = g.Name,
                    w = g.Weight.Value
                };
        var list00 = q.Take(1).ToList();
        Console.WriteLine(list00[0].gname);
    }
}
public class MyData {
    public string gname { get; set; }
    public string name { get; set; }
    public decimal w { get; set; }
}

Any ideas what is wrong

Thanks

Mike

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

墨洒年华 2024-08-09 12:19:53

是的,我认为当亚音速尝试投影到新类型类(非匿名和非源类)时存在错误。

如果您这样做

var q = from g in Product.All()
       select new{
            gname = g.Name,
            name = g.Name,
            w = g.Weight.Value
       };

或如果您这样做

var q = from g in Product.All()
       select g;

作为解决方案,请分叉我的存储库(http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb)。您可以查看我的源代码并将其应用到您的亚音速代码中。

Yes, i think there's a bug when subsonic try to project into new typed class (non anonymous and non source class).

Your query will work fine if you do like this

var q = from g in Product.All()
       select new{
            gname = g.Name,
            name = g.Name,
            w = g.Weight.Value
       };

or if you do like this

var q = from g in Product.All()
       select g;

As a solution, please fork my repository (http://github.com/funky81/SubSonic-3.0/commit/aa7a9c1b564b2667db7fbd41e09ab72f5d58dcdb). You can see my source code and apply it into your subsonic code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文