大家好
我的公司将启用一个新的数据访问系统,
该框架是一个三层结构。客户端将包含查询内容的XMl发送到服务器端。服务器应用程序将解析文件,对数据库进行查询,然后将结果集提供给客户端。
谁能告诉我查询语句和xml报告之间最好的转换层(API)是什么?我的领导让我调查我们是否可以在LINQ中编写查询?
据他所知,LINQ是一种面向对象的查询方式。
我知道这个问题有点奇怪。但是感谢你的阅读。任何建议都是受欢迎的。
谢谢,
你的杰伊。
发布于 2011-07-02 11:46:57
如果有人还没有为此构建好的模型,您可以让他们遵循如下数据模型
enum ClauseType
{
And, Or
}
enum ComparisonType
{
Equal, NotEqual, GreaterThan, LessThan
}
interface IClause
{
}
class CombinedClause : IClause
{
public ClauseType ClauseType { get; set; }
public IEnumerable<IClause> SubClauses { get; set; }
}
class SingleClause : IClause
{
ComparisonType ComparisonType { get; set; }
public string LeftSide { get; set; }
public string RightSide { get; set; }
}
class Property
{
public string Name { get; set; }
public object Value { get; set; }
}
class Query
{
public IEnumerable<string> Columns { get; set; }
public IEnumerable<string> Tables { get; set; }
public IClause WhereClause { get; set; }
public IEnumerable<Property> Properties { get; set; }
}这将允许他们在自己的一端创建类,并为了某种类型安全而序列化它们。通过这个类,您可以构建您的SqlCommands。我特别注意使其能够由数据库针对Sql注入进行验证。
发布于 2011-07-03 02:47:00
你可以使用LINQ,但它不是那么简单。看看ExpressionVisitor和this series of blog posts by Matt Warren about creating IQueryable provider吧。
https://stackoverflow.com/questions/6554932
复制相似问题