gpt4 book ai didi

c# - 如何定义在模型中使用相同的模型

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:40 26 4
gpt4 key购买 nike

在我的 SessionView 模型中,我试图将数据库中的数据分配给局部变量,然后将此数据分配给相关的公共(public)属性(而不是在 Controller 中执行)。

我试图通过使用以下代码来实现这一点,但是当询问数据时它崩溃了,大概是因为我在其中定义了相同模型...

public class SessionView : BaseViewModel
{
public int SessionId { get; set; }

private SessionView data
{
get
{
return (from s in db.Sessions
where s.SessionId == SessionId
select new SessionView
{
CourseId = s.CourseId
// ... lots of other properties
}).FirstOrDefault();
}
set { }
}

public int CourseId { get { return data.CourseId; } set { } }
// ... lots of other properties
}

有没有什么巧妙的方法可以在不出错的情况下实现这一点?

谢谢。

最佳答案

我认为最好的方法是将数据检索放在构造函数中:这样,每次有人引用此类时,您只需检索一次数据,从而减少了检索开销并优化了代码。

简单来说,每次我使用变量 data 时,我都会从数据库中查询它。

public class SessionView : BaseViewModel
{
private SessionView _sessionView;
public int SessionId { get; set; }

public SessionView()
{
_sessionView = new SessionView();
_sessionView.data = from s in db.Sessions
where s.SessionId == SessionId
select new SessionView
{
CourseId = s.CourseId
// ... lots of other properties
}).FirstOrDefault();
}
private SessionView data
{
get
{
return _sessionView.data
}
set { }
}

public int CourseId { get { return data.CourseId; } set { } }
// ... lots of other properties
}

关于c# - 如何定义在模型中使用相同的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37658470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com