執行自定義查詢 - 實體框架

c# entity-framework winforms

我想執行自定義查詢以獲取DB服務器的datetime使用實體框架select Getdate() 。我怎樣才能做到這一點?

謝謝

一般承認的答案

ObjectQuery<DateTime> date = new ObjectQuery<DateTime>("select Getdate()", context)
DateTime now = date.Single();

熱門答案

你可以嘗試這樣的想法:

public static partial class ObjectContextExtension
{
    public static T ExecuteScalarCommand<T>(this ObjectContext context, string command)
    {
        DbConnection connection = ((EntityConnection)context.Connection).StoreConnection;
        if (connection.State == ConnectionState.Closed)
            connection.Open();

        DbCommand cmd = connection.CreateCommand();
        cmd.CommandText = command;
        cmd.CommandType = CommandType.Text;

        return (T)cmd.ExecuteScalar();
    }

它將方法“ExecuteScalarCommand”添加到ObjectContext。
您只需將SQL請求作為參數和泛型類型的返回類型。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因