![](/img/trans.png)
[英]Remove objects of some kind of type from a List<T> in C# using extension methods?
[英]C# creating methods with some kind of submethods
我想建立自己的mysql类。 但是我对c#还是比较陌生。
因此,根据我的想法,我想构建一些类似的东西:
mySqlTool.select("a,b,c").from("foo").where("x=y");
我不知道如何称呼它,实际上我什至不知道这是否有可能。 我的Google搜索没有任何实际结果。
所以我的问题是:
可以像我上面的示例一样做一些事情吗?
创建流利的api并不过分。 您只需从每个方法返回该类的当前实例,就可以按照您在帖子中指定的方式将它们链接起来:
public class MySqlTool
{
private string _fields, _table, _filters;
public MySqlTool Select(string fields)
{
_fields = fields;
return this;
}
public MySqlTool From(string table)
{
_table = table;
return this;
}
public MySqlTool Where(string filters)
{
_filters = filters;
return this;
}
public Results Execute()
{
// build your query from _fields, _table, _filters
return results;
}
}
将允许您运行如下查询:
var tool = new MySqlTool();
var results = tool.Select("a, b, c").From("someTable").Where("a > 1").Execute();
看来您正在尝试执行与Linq to SQL类似的操作,但要使用MySQL。 有一个名为LinqConnect的项目可以执行此操作。 我与他们没有联系。
您可以这样使用它(来自LinqConnect 教程 ):
CrmDemoDataContext context = new CrmDemoDataContext();
var query = from it in context.Companies
orderby it.CompanyID
select it;
foreach (Company comp in query)
Console.WriteLine("{0} | {1} | {2}", comp.CompanyID, comp.CompanyName, comp.Country);
Console.ReadLine();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.