代码第一个问题

本文关键字:问题 第一个 代码 | 更新日期: 2023-09-27 17:50:07

我想使用EF 4.1代码优先模型创建我的第一个应用程序。我想为杂志订阅建模,但只想检查我的POCO类是否适合使用。

以下是我的课程。我错过什么了吗?

Customer应该是Subscription的成员还是List应该只是Customer的成员?

谢谢。

public class Subscription
{
    public int SubscriptionID { get; set; }
    public string CardNumber { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public decimal NetPrice { get; set; }
    public decimal Tax { get; set; }
    public decimal Discount { get; set; }
    public string PromotionalCode { get; set; }
    public Customer Customer{ get; set; }
}
public class Customer    {
    public int CustomerID { get; set; }
    public string Title { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public PostalAddress PostalAddress { get; set; }
    public string EmailAddress { get; set; }
    public string Telephone { get; set; }
    public string Mobile { get; set; }
    public DateTime DateOfBirth { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string SecurityQuestion { get; set; }
    public string SecurityAnswer { get; set; }
    public bool Valid { get; set; }
    public IList<Subscription> Subscriptions { get; set; }
    public bool MailMarketing { get; set; }
    public bool PartnerMailMarketing { get; set; }
}
public class PostalAddress
{
    public int ID { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string Address3 { get; set; }
    public string City { get; set; }
    public string Postcode { get; set; }
    public string Region { get; set; }
    public string Country { get; set; }
}

代码第一个问题

如果一个客户有X个订阅,每个订阅都应该有一个customerID,所以你需要在你的订阅类(public int customerID {get;设置;})。

OTOH,我认为你必须把客户参考作为虚拟和订阅(我不知道为什么)。

也许我错了,但这对我有用。

不管怎样,你有什么问题?

你的模型看起来很正确。您不一定需要Subscription类中的Customer属性,但是如果您想要检索特定的Subscription,然后想要找到与该订阅绑定的客户,那么它确实有帮助。在这种情况下,您可以执行var customer = mySub.Customer,而不是查询具有特定订阅id的客户。