首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sql to Linq - Reverse

Sql to Linq - Reverse
EN

Stack Overflow用户
提问于 2009-01-14 04:45:01
回答 4查看 520关注 0票数 2

我有一大堆带有普通SQL查询的xsd。我想迁移到LINQ。

有没有一种从SQL语句自动生成LINQ等效项的方法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-14 07:31:51

如果您只关心将LINQ to SQL查询的结果放到IEnumberable或类似的文件中,那么可以将它们包装在ExecuteQuery

代码语言:javascript
复制
var Space = db.ExecuteQuery<Astronaut>("SELECT TOP 10 * FROM dbo.Astronauts");

如果你真的想要有正确的LINQ查询,那么也许一个选择,至少是一个可能的路径,是c#示例附带的LINQ表达式树可视化工具。http://blogs.msdn.com/charlie/archive/2008/01/31/expression-tree-basics.aspx

票数 2
EN

Stack Overflow用户

发布于 2009-01-14 06:25:25

没有一种简单的方法可以机械地将SQL转换为LINQ;但是,您可以重用SQL,只需将LINQ- to -SQL用于管道:

代码语言:javascript
复制
ctx.ExecuteQuery<Foo>(sql, arg1, arg2, ...);

这将从sql执行TQSL,使用arg1arg2替换参数占位符({0},{1} IIRC),并将结果网格视为一系列Foo实例(因此您不必编写解析代码)。

还有:

代码语言:javascript
复制
ctx.ExecuteCommand(sql, arg1, arg2, ...);

当您的sql没有返回结果时使用。

或者,从您的SQL创建SPROC,并从LINQ-to-SQL或Entity Framework使用它们。

票数 2
EN

Stack Overflow用户

发布于 2009-01-14 06:19:55

据我所知,那里没有库,但可以做一些工作。

我认为将sql文本(一个有限但有用的子集)解析成dynamic linq并不太难。这可能不会100%解决你的用例,但是你很可能会满足80-90%的需求

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/441942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档