包含Object的Object的简单示例 - 理解对象和OOP

时间:2016-03-14 07:39:50

标签: c# oop object

我真的不知道如何把我的两个物体结合起来。

在这里,我已经设法将所有客户数据读入对象数组。

public void GettingCustomers()
{
    Customer customer = new Customer(); //correct ???
    // -----READINGLOOP from Source-------
    Name = "Name1";
    Id = 1;
    // -----READINGLOOP from Source-------
}

在这里,我已经设法读取SPECIFIC客户的所有数据:

public void GettingObjectsFromDB()
{
    // -----READING all Objects belonging to CUSTOMER Name1!!
    ObjectName = "Ball";
    ObjectNumber = 555;
    //------LOOP
}

但是现在我被困了几个小时就如何将这两者结合起来......最后我可以从Customer对象输出所有对象。

using System;

namespace Classes
{

class Customer
{
    public string Name { get; set; }
    public int Id { get; set; }

    puclic object Objects /////   ----??

    public void GettingCustomers()
    {
     // getting Customer List
    }
}

class Objects
{
    public string ObjectName { get; set; }
    public int ObjectNumber { get; set; }

    public void GettingObjectsFromDB()
    {
      // getting all Objects from a specific CUSTOMER.
      // used a tempstring="Name1" until now.
    }
}

class Program
{
    static void Main(string[] args)
    {
        // Print out Objects belonging to "Name1"     
    }
}
}

1 个答案:

答案 0 :(得分:1)

客户与“对象”之间存在1对多的关系。 1客户有很多对象。

您的数据库表应如下所示:

客户(CustomerId {pk},姓名,姓氏,地址等) 对象(ObjectId {pk},CustomerId {fk},Name等)

就个人而言,我喜欢使用EntityFramework来生成所有内容,但无论您使用EF还是自己动手,最终都会得到以下内容:

class Customer
{
   public int CustomerId {get; set;}
   public string Name {get; set;}
   ...
   public IEnumerable<Object> Objects {get; set;}
}

class Object
{
   public int ObjectId {get; set;}
   public int CustomerId {get; set;}
   public string Name {get; set;}
   ...
}

我建议你使用Entity Framework和数据库第一种方法。如果您不这样做,那么当您从数据库中获取客户时,您还可以使用该表中的customerid来获取所有对象。