我对下一个方案有问题,我附加了它。我想从我的数据库中查询只有一个带有“ Manufacturer
”类的对象。喜欢:
var res = new XPQuery<Manufacturer>(session);
然后在LINQ中查询与我的状况有关的所有信息。
我已经尝试过XPLiteObject, XPObject, Association attribute, NoForeignKey Attribute, XPOCollection
和很多东西,但是没有什么对我有帮助。
我尝试了很多方法,每次遇到新的异常时,例如: SelectMany-不支持方法。 无法在表中设置外键。 主键重复。
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 ....
答案 0 :(得分:0)
因此,我找到了解决我问题的方法。 我下载了DevExpress,可以为Visual Studio添加模板。 然后,选择“将新项目添加到我的项目中” DevExpress ORM DataModel Wizard ”。 该向导can create persistent objects for existing database。 之后,我可以使用以下语法查询数据库:
var manufacturer = new XPQuery<Manufacturer>(session).Select(x => x....)...;
但是,如果要在LINQ查询中使用 .SelectMany(),则应使用 .ToList(),然后使用 .SelectMany()。当我尝试加入或执行其他一些与LINQ相关的操作时,我遇到了很多问题。好吧,如果您遇到一些错误,请先在 .Select()之后尝试。 ToList(),然后执行操作。