繁体   English   中英

DbLinq问题(关键字New或MemberInit引发异常)

[英]DbLinq Problems (Keyword New or MemberInit throws exception)

我正在将一个庞大的Web应用程序从SQL Server迁移到MySql。 该应用程序使用Linq,所以我正在使用DBLinq。 当前大多数事情都正常工作,除了在几页上我遇到一个奇怪的错误。 一切始于此:

Property 'Int32 ForumID' is not defined for type 'DbLinq.Data.Linq.Table`1[CPost]'

我显然在CPost类中有一个ForumID,所以这不是问题。 我尝试将查询复制到一个单独的文件,并开始删除其中的部分以查看导致错误的原因。 一段时间后,我发现这条线:

var q = from u in db.Users select new {ab = u};

引起异常:

New

在此行:

throw new ArgumentException(operationType.ToString());
Source File:  D:\Visual Studio 2008\Projects\DbLinq\src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs    Line:  858

但是这段代码:

var q = from u in db.Users select u;

完美地跑了。

如果需要的话,我可以提供更多信息,但是由于它非常庞大(超过10,000行不包括html) ,因此我无法发布整个源代码 有人遇到过类似的问题吗?

编辑:经过进一步调查后,我发现DbLinq抱怨,因为它从查询中找不到关键字New或MemberInit

var q = db.Posts.Select(post => post);

可在以下时间使用:

var q = db.Posts.Select(o => new SPost {Post = o});

var q = db.Users.Select(u => new {user = u});

引发异常。 在trunk / src / DbLinq / Vendor / Implementation / SqlProvider.cs中的285行处例外

我会避免将DBLinq用于生产代码... Linq-To-SQL的许多功能尚未实现,并且遍历源代码显示出较低的成熟度...许多方法未实现或标记为“未终结”。

...您已被警告!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM