C# 在模型中存储函数
让我们假设我有一个类C# 在模型中存储函数,c#,asp.net-mvc,entity-framework,function,model,C#,Asp.net Mvc,Entity Framework,Function,Model,让我们假设我有一个类Offer,它是: public class Offer { [Key] public int ID { get; set; } //... public virtual List<OfferEventManager> EventManagers { get; set; } public virtual List<EventDay> EventDays { get; set; } public virtu
Offer
,它是:
public class Offer
{
[Key]
public int ID { get; set; }
//...
public virtual List<OfferEventManager> EventManagers { get; set; }
public virtual List<EventDay> EventDays { get; set; }
public virtual List<OfferStatus> OfferStatuses { get; set; }
public virtual List<EstimatedCost> EstimatedCosts { get; set; }
public virtual List<Payment> Payments { get; set; }
}
公开课优惠
{
[关键]
公共int ID{get;set;}
//...
公共虚拟列表事件管理器{get;set;}
公共虚拟列表事件日{get;set;}
公共虚拟列表提供状态{get;set;}
公共虚拟列表EstimatedCosts{get;set;}
公共虚拟列表付款{get;set;}
}
我必须做一些检查,例如,有人想向客户发送
报价
,但首先报价
必须在指定的报价状态
、一些示例事件日
和示例估计成本
。现在让我们假设我不仅要在一个函数中检查它,还要在一些函数中检查它,因此我需要知道最新的OfferStatus
等。我是否应该在模型中存储一个函数,例如GetLatestStatus()
,而其他一些函数或模型应该只具有存储在DB中的属性?如果我不能将函数存储在内存中,那么编写一些有用函数的最佳方法是什么,我可以使用从DB call获得的Offer
?通常,EF中的模型应该是数据库的直接模型(可能有一些虚拟映射)
我不完全确定你的问题是什么(或者你想要什么),但是如果你想要的只是最近的状态,你可以这样做:
// assume that 'offer' is an Offer from the DB
var latestStatus = offer.OfferStatuses.OrderByDescending(x => x.Timestamp).First();
您可以在模型上添加“getter”,如下所示:
public class Offer
{
// Getter method
public OfferStatus GetLatestStatus
{
get { return OfferStatuses.OrderByDescending(x => x.Timestamp).FirstOrDefault(); }
set { ; }
}
}
通常,EF中的模型应该是数据库的直接模型(可能带有一些虚拟映射) 我不完全确定你的问题是什么(或者你想要什么),但是如果你想要的只是最近的状态,你可以这样做:
// assume that 'offer' is an Offer from the DB
var latestStatus = offer.OfferStatuses.OrderByDescending(x => x.Timestamp).First();
您可以在模型上添加“getter”,如下所示:
public class Offer
{
// Getter method
public OfferStatus GetLatestStatus
{
get { return OfferStatuses.OrderByDescending(x => x.Timestamp).FirstOrDefault(); }
set { ; }
}
}
您可以通过分部类在模型类中添加方法
public分部类Offer
你可以在
写一些有用函数的最好方法是什么,我可以使用DB call提供的函数
您应该遵循存储库模式
更多参考资料请访问
您可以通过分部类在模型类中添加方法
公共分部类报价
你可以在
写一些有用函数的最好方法是什么,我可以使用DB call提供的函数
您应该遵循存储库模式
更多参考资料请访问
这就是我想存储在模型public offers status GetLatestStatus(){return offer.offers status.OrderByDescending(x=>x.Date).First();}中的内容,这就是我想存储在模型public offers status GetLatestStatus(){return offer.offers status.OrderByDescending(x=>x.Date).First();}中的内容