Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 从另一个模型获取成员资格用户对象_Asp.net Mvc_Asp.net Mvc 3_Razor_Asp.net Membership - Fatal编程技术网

Asp.net mvc 从另一个模型获取成员资格用户对象

Asp.net mvc 从另一个模型获取成员资格用户对象,asp.net-mvc,asp.net-mvc-3,razor,asp.net-membership,Asp.net Mvc,Asp.net Mvc 3,Razor,Asp.net Membership,我想要这样的东西: public class Order { public Guid OrderID { get; set; } public Guid UserId { get; set; } public DateTime OrderDate { get; set; } public decimal Amount { get; set; } public virtual ICollection<OrderDetail> orderDeta

我想要这样的东西:

public class Order
{
    public Guid OrderID { get; set; }
    public Guid UserId { get; set; }
    public DateTime OrderDate { get; set; }
    public decimal Amount { get; set; }

    public virtual ICollection<OrderDetail> orderDetailByOrderID { get; set; }
    public virtual MembershipUser userByOrderID { get; }
}
公共类秩序
{
公共Guid OrderID{get;set;}
公共Guid用户标识{get;set;}
public DateTime OrderDate{get;set;}
公共十进制数{get;set;}
公共虚拟ICollection orderDetailByOrderID{get;set;}
公共虚拟成员身份用户userByOrderID{get;}
}
因此,从上面的代码中,我希望成员资格用户能够从Order对象访问。。。。 然而,我尝试了它,但它不工作


因此,如果您遇到这种情况,请建议一些解决方案,听起来您可能首先使用实体框架代码。如果是这种情况,您可能希望:

public virtual aspnet_成员身份userByOrderID{get;set;}

而不是

public虚拟成员身份用户userByOrderID{get;}

这将获取绑定到
UserId
外键的
aspnet\u成员身份
实体。
aspnet\u Membership
类与
MembershipUser
实体并不完全相同,但它们有许多相同的属性

如果这不起作用,您可以始终按原样使用
订单
模型,并生成具有
成员身份用户
对象的ViewModel

public class OrderViewModel
{
    public Order Order { get; set; }
    public MembershipUser User { get; set; }
}
并在将其传递到视图之前,像这样创建ViewModel

Order order = EntityDataContext.Orders.First();
var model = new OrderViewModel { Order = order, User = Membership.GetUser(order.UserId) }

听起来您可能首先使用实体框架代码。如果是这种情况,您可能希望:

public virtual aspnet_成员身份userByOrderID{get;set;}

而不是

public虚拟成员身份用户userByOrderID{get;}

这将获取绑定到
UserId
外键的
aspnet\u成员身份
实体。
aspnet\u Membership
类与
MembershipUser
实体并不完全相同,但它们有许多相同的属性

如果这不起作用,您可以始终按原样使用
订单
模型,并生成具有
成员身份用户
对象的ViewModel

public class OrderViewModel
{
    public Order Order { get; set; }
    public MembershipUser User { get; set; }
}
并在将其传递到视图之前,像这样创建ViewModel

Order order = EntityDataContext.Orders.First();
var model = new OrderViewModel { Order = order, User = Membership.GetUser(order.UserId) }

你说它不工作是什么意思?为什么将
userByOrderID
设置为只读?你需要在某个地方给它赋值。至少让它成为
私有集
。它不适用于set,所以我用readonly尝试了它。向我们展示用于填充Order类型对象的代码。它不适用是什么意思?为什么将
userByOrderID
设置为只读?你需要在某个地方给它赋值。至少让它成为
私有集
。它不适用于set,所以我尝试使用readonly…向我们展示用于填充类型为Order的对象的代码。