【发布时间】:2014-08-13 10:13:03
【问题描述】:
我正在使用一些crm框架,这个框架没有任何内部orm,也没有使用实体框架,只有普通的sql查询。
我对数据库中的每个表都有实体。 所以我有例如:
public class Customer{
public string FirstName{get;set;}
public int Status{get;set;}
}
有没有我可以编写 linq 查询并将它们转换为 sql 而不使用实体框架或 NHibernate? 我正在寻找类似的东西。
IQueryable linq = from LinqProvider.Get<Customer>() int customer where customer.FirstName == "test" and Status > 1;
string sqlQuery = LinqProvider.ToSqlQuery(linq);
//Select * from Customer where FirstName = "test" and Status > 1
我希望拥有一些高级功能,例如加入排序和聚合功能。
【问题讨论】:
-
你可以使用 Linq-To-Sql。 msdn.microsoft.com/en-us/library/bb386961(v=vs.110).aspx
-
我就是做不到,我手里需要sql查询。
-
-1 没有 Entity Framework 或 nHibernate 或 Linq to SQL 是什么意思?您需要使用 Linq Provider 来生成 SQL!你的意思是你只想获取 SQL 而不是 EF/nH/L2S RUN SQL?
-
@Aron - 我的意思是查询必须在实体框架之外执行。
-
我不知道你刚才说了什么。您不能单独使用 Linq 来创建 SQL。 Linq 与 SQL 无关。你的意思是你没有EF模型?如果是这样,您可以考虑先使用数据库创建一个,然后删除您的 crm 框架。