[英]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.