C# LINQ到SQL-插入自定义原始SQL?

C# LINQ到SQL-插入自定义原始SQL?,c#,sql-server,linq,azure-cosmosdb,C#,Sql Server,Linq,Azure Cosmosdb,是否可以使用linq(或某些linq扩展,如DynamicIQ)插入自定义原始sql。如果没有,这怎么可能 这对DocumentDB很有帮助。这是我的意思的一个例子 class Document { Guid id { get; set; } DateTime createdAt { get; set; } DocumentType type { get; set; } dynamic content { get; set; } } queryable .Where((d)

是否可以使用linq(或某些linq扩展,如DynamicIQ)插入自定义原始sql。如果没有,这怎么可能

这对DocumentDB很有帮助。这是我的意思的一个例子

class Document {
  Guid id { get; set; }
  DateTime createdAt { get; set; }
  DocumentType type { get; set; }
  dynamic content { get; set; }
}

queryable
  .Where((d) => d.type == DocumentType.IceCream)
  .RawSqlWhere("CONTAINS(content.flavor, 'choco')")
  .Where((d) => d.createdAt < DateTime.Now);
类文档{
Guid id{get;set;}
DateTime createdAt{get;set;}
DocumentType类型{get;set;}
动态内容{get;set;}
}
可质疑
.其中((d)=>d.type==DocumentType.IceCream)
.RawSqlWhere(“包含(content.flavor,'choco'))
.Where((d)=>d.createdAt

如果Linq不适合这样做,您将如何在不失去Linq支持的情况下执行此操作?

DocumentDB Linq提供程序支持动态Linq。您可以使用它来构建运行时LINQ表达式。当前不支持注入SQL。

DocumentDB LINQ提供程序支持动态LINQ。您可以使用它来构建运行时LINQ表达式。目前不支持注入SQL。

我将研究Dapper。DapperExtensions还将使您能够将Linq与DTO一起使用。在Uinsg SQL Server中,可以混合使用LINQ(带表达式)和动态LINQ。由于Dynamic LINQ除了将字符串解析为表达式之外什么都不做,所以我认为这应该适用于任何接受表达式的SQL提供程序。我想主要的问题是,包含的是SQL函数,而我的文档是如此动态,无法反序列化。所以,这就是为什么我希望只注入sqlI,我会研究Dapper。DapperExtensions还将使您能够将Linq与DTO一起使用。在Uinsg SQL Server中,可以混合使用LINQ(带表达式)和动态LINQ。由于Dynamic LINQ除了将字符串解析为表达式之外什么都不做,所以我认为这应该适用于任何接受表达式的SQL提供程序。我想主要的问题是,包含的是SQL函数,而我的文档是如此动态,无法反序列化。这就是我希望注入sql的原因