Entity Framework 6.1を使用してデータベースのスカラー関数の結果を列として選択する方法これは純粋なSQLクエリです:他のテーブルから情報を収集し、VARCHAR
結果を返しますdbo.GetAdditionalInfo(INT Id)
EF 6.1スカラー関数の結果を選択
SELECT
Id AS Id
, Name AS Name
, dbo.GetAdditionalInfo(Id) AS AdditionalInfo
FROM Users
WHERE Status = 1
データベース機能。どのようにEF 6.1を使用してそれを行うには?もちろん
var usersList = ctx.Users
.Where(n=>n.Status == 1)
.Select(n=>new{
Id = n.Id
, Name = n.Name
, AdditionalInfo = ctx.DataBase.GetScalarFunctionResult<string>("dbo.GetAdditionalInfo (@)", n.Id)
}).ToList();
、
ctx.DataBase.GetScalarFunctionResult<T>(string ScalarFunctionName, params object args)
が存在せず、それが働いていない:私はこのようなものが必要。しかし、実装されていれば、非常に便利で簡単に使用できます。
?私はそれを見つけることができません。あなたが作ったものなの? 'Database'プロパティの拡張メソッドですか? –
私が言及したように、関数 'GetScalarFunctionResult'は存在しません。私は何をしたいのかを説明するために例として使用しました。 @kiziuは外部ライブラリを使って(おそらくそれはうまくいくでしょう)提案しましたが、私はそのような方法が嫌いです。私は元のSQLクエリを使用して、それは正常に動作します。将来のバージョンのEFがSQL関数の呼び出しをサポートすることを望みます。 – Spark13