Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 内联网_C#_.net_.nettiers - Fatal编程技术网

C# 内联网

C# 内联网,c#,.net,.nettiers,C#,.net,.nettiers,今天我对不同类型的ORM工具和DAL生成器进行了回顾。其中一个是内蒂尔斯 我有一个带有客户、订单、订单详情等的经典DB模型 我想对这些表执行复杂的内部联接。这是原始SQL查询: SELECT [Contact].LastName, SUM(OrderRow.Amount * Product.Price) TotalAmount FROM Contact INNER JOIN [Order] ON [Contact].ContactId=[Order].ContactId

今天我对不同类型的ORM工具和DAL生成器进行了回顾。其中一个是内蒂尔斯

我有一个带有客户、订单、订单详情等的经典DB模型

我想对这些表执行复杂的内部联接。这是原始SQL查询:

SELECT [Contact].LastName, SUM(OrderRow.Amount * Product.Price) TotalAmount
FROM Contact
    INNER JOIN [Order] ON [Contact].ContactId=[Order].ContactId 
        INNER JOIN [OrderRow] ON [Order].OrderId=[OrderRow].OrderId
            INNER JOIN [Product]ON OrderRow.ProductId=Product.ProductId 
                GROUP BY [OrderRow].OrderId, [Contact].LastName
                    HAVING SUM(OrderRow.Amount * Product.Price) > 100
我找不到用NetTiers的代码完成这项工作的方法。你能吗


(ps:使用VS2008 SP1和SQLServer2008 SP1)

为什么不为此创建一个自定义存储过程,nettiers会在TableProvider类下为存储过程生成特定的方法,之后您可以简单地调用您的方法。在这种情况下,方法返回类型可能是数据集(不确定!)。请参见

如果没有自定义存储过程,则无法执行此操作。这里的解决方案:

我知道,但这会将项目固定到特定的供应商。NHibernate或LLBLGenPro使用自己的对象查询语言来实现这一点,它与数据库无关