簡體   English   中英

EDMX 數據庫將兩個過程映射到同一個 ComplexType

[英]EDMX database mapping two procedures to the same ComplexType

我正在為我的 MVC 項目創建一個 .edmx。 我已經映射了兩個從數據庫返回電影信息的過程。

第一個過程是 getMoviesByName,它只返回 Id 和 Name。 第二個過程是 getAllMovies,它返回 Id、Name 和 CreatedDate。

我想這兩個程序都將數據作為名為 Movie 的 ComplexType 返回。

我正在實例化我的 MyDbEntities 並嘗試根據如下示例中的條件使用這兩個過程,但是當變量isLookingByName為真時失敗並顯示以下消息:

'CreatedDate' 類型的成員在數據讀取器中沒有對應的同名列。

例子:

var db = new MyDbEntities();
if(isLookingByName) 
{ 
    return db.getMoviesByName(name).ToList();
}

return db.getAllMovies().ToList();

因此,只要條件為真,它就會拋出該異常。 問題是我無法更改添加CreatedDate的第一個過程。

只是為了讓你們知道在我的視圖中,我顯示了所有這三個信息 Id、Name 和 CreatedDate。 當 CreatedDate 為 null 時,它不會顯示,我對此很好。

有人知道我應該如何進行嗎?

非常感謝!

解決方法是使用 ADO.NET

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();

    using (SqlCommand command = new SqlCommand(
    "SELECT Id, Name and CreatedDate  FROM movies WHERE id= @id", connection))
    {

        command.Parameters.Add(new SqlParameter("@id", id));

        SqlDataReader reader = command.ExecuteReader();
        if(reader.HasRows())
        {
            var id= reader["Id"].ToString();
            var name= reader["Name"].ToString();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM