получить пользовательский объект Членство от другой модели - PullRequest
2 голосов
/ 25 января 2012

Я хочу что-то вроде этого:

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; }
}

так что из вышеприведенного кода я хочу, чтобы членство пользователя было доступом из объекта Order .... однако я пробовал это, но это не работает.* поэтому, пожалуйста, предложите какое-нибудь решение, если вы сталкивались с подобной ситуацией

1 Ответ

0 голосов
/ 25 января 2012

Похоже, вы сначала используете Entity Framework Code.Если это именно тот случай, вы, вероятно, захотите:

public virtual aspnet_Membership userByOrderID { get; set; }

вместо

public virtual MembershipUser userByOrderID { get; }

Это будет захватывать aspnet_Membershipобъект, связанный с внешним ключом UserId.Класс aspnet_Membership не совсем совпадает с сущностью MembershipUser, но у него много одинаковых свойств.

Если это не сработает, вы всегда можете использовать свою модель Order как есть.и сгенерируйте ViewModel с объектом MembershipUser.

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) }
...