0

我对下一个方案有疑问,我附上了它。我想从我的数据库中查询只有一个带有“ Manufacturer”类的对象。喜欢:

var res = new XPQuery<Manufacturer>(session);

然后在 LINQ 中查询与我的情况相关的所有信息。我已经尝试XPLiteObject, XPObject, Association attribute, NoForeignKey Attribute, XPOCollection了很多东西,但没有什么对我没有帮助。

我尝试了很多方法,每次我有新的异常,比如:SelectMany - 不支持方法。无法在表中设置外键。重复的主键。

我的问题是:如何描述从 db 中正常提取数据的类? 表方案

UPD:我现在的解决方案是:在每个对象上使用 .ToList() ,然后使用 linq-query 连接数据并进行所需的查询。

var manufacturer = new XPQuery<Manufacturer>(session).ToList();
var cars = new XPQuery<Car>(session).ToList();
var countries = new XPQuery<Country>(session).ToList();

var result = from m in manufacturer ....
4

1 回答 1

0

所以,我找到了我的问题的解决方案。我下载了可以为 Visual Studio 添加模板的DevExpress。然后我选择将新项目添加到名为“ DevExpress ORM DataModel Wizard ”的项目中。该向导可以为现有数据库创建持久对象。之后,我可以使用以下语法查询数据库:

var manufacturer = new XPQuery<Manufacturer>(session).Select(x => x....)...;

但是如果你想在你的 LINQ 查询中使用.SelectMany(),你应该使用.ToList()然后使用.SelectMany()。当我尝试加入或执行其他一些与 LINQ 相关的操作时,我遇到了很多问题。好吧,如果你有一些错误,首先在.Select()之后尝试。ToList()然后执行你的操作。

于 2019-04-09T08:07:35.597 回答