我尝试在我的数据库中创建存储过程,并在Sql Server Management Studio中测试它(工作正常),但是当我使用实体框架从我的MVC应用程序调用它时,结果说 - “无法评估子项”我扩展了结果视图。
这是我到目前为止所尝试过的。
public void ExecuteStoredProcedure()
{
//var gift = context.Gifts.SqlQuery("dbo.GetGiftsFromId @p0", 1);
var result = context.Database.SqlQuery<Gift>("dbo.GetGiftsFromId @p0", 1);
}
在我的存储过程中,我有一行要执行。
SELECT * from dbo.Gifts where GiftId = @gift_id
有没有人知道为什么电话没有返回任何东西?我在其他帖子中看到有些人在他们的代码中使用了modelbinder.Entity等等。我需要这样做吗?
我首先使用代码,这是我的礼物
public class Gift
{
// for a one-to-one relationship
// great tutorial on code-first
//http://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-first.aspx
public Gift()
{
Images = new List<GiftImage>();
}
public int GiftId { get; set; }
public DateTime DateCreated { get; set; }
[Required]
public string Name { get; set; }
public virtual ICollection<GiftCategory> Categories { get; set; }
public int Rating { get; set; }
public GiftStatus Status { get; set; }
[Required]
public int OwnerId { get; set; }
[Required]
public virtual GiftAddress GiftAddress { get; set; }
public GiftAvailability Availability { get; set; }
[Required]
public virtual GiftDescription Description { get; set; }
public byte[] Thumbnail { get; set; }
[Required]
public virtual ICollection<GiftImage> Images { get; set; }
public ICollection<GiftReview> Reviews { get; set; }
}
答案 0 :(得分:0)
我必须使用。
results.ToList()
获得结果。
或取得结果并用它做某事的东西。