1
linq(またはDynamicLinqのようないくつかのlinq拡張子)でカスタムのraw sqlを挿入することは可能ですか?そうでない場合は、どうすれば可能でしょうか?LINQ to SQL - カスタムRaw 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);
Linqがこれに適していない場合、どうすればlinqのサポートを失うことなくこれを行うことになりますか?
私はDapperを調べます。 DapperExtensionsは、LinqにDTOを使用する機能も提供します。 https://github.com/tmsmith/Dapper-Extensions –
Uinsg SQL Serverでは、LINQ(式付き)とDynamic LINQを混在させることができます。 SInce Dynamic LINQは文字列を式に構文解析するだけですが、これは式を受け入れるすべてのSQLプロバイダでうまくいくと思います。 –
主な問題は、CONTAINSはSQL関数であり、私のドキュメントは非常に動的であり、デシリアライズできないと思います。だからこそ私はsqlを注入することを望んでいたのです –