Erk*_*rel 5 asp.net-mvc entity-framework repository-pattern ef-code-first
public class Order
{
public int Id {get;set;}
[DisplayName("User")]
public long UserId { get; set; }
[ForeignKey("UserId")]
public virtual User User { get; set; }
public decimal Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
同 IEnumurable
public class User
{
public int Id{get;set;}
public virtual IEnumerable<Order> Orders { get; set; }
}
public User GetWithOrders()
{
var myUser=UserRepository.GetByEmail("email@email.com");
myUser.Orders=OrderRepository.GetByUserId(myUser.Id);
return myUser;
}
Run Code Online (Sandbox Code Playgroud)
同 ICollection
public class User
{
public int Id{get;set;}
public virtual ICollection<Order> Orders { get; set; }
}
public User GetWithOrders()
{
var myUser=UserRepository.GetByEmail("email@email.com");
return myUser;
}
Run Code Online (Sandbox Code Playgroud)
我没有使用延迟加载IEnumerable导航属性.因此,我必须使用另一个查询获取此用户的订单.
我有导航ICollection.所以我可以接到用户的订单.这看起来很酷.但是,我可以在Controller中向用户添加新订单,而无需使用服务或存储库.
它是在控制器级别上操纵数据.这是反模式吗?
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |