エンティティ フレームワークを使用してデータベースを構築しようとしていますが、モデルに関するヘルプが必要です。
モデルは、Company、Departments、Users、TaskType1、TaskType2、TaskType3 です。
public class Company
{
public Company()
{
this.Departments = new HashSet<Department>();
}
public int Id { get; set;}
public string CompanyName { get; set;}
public string Address { get; set;}
public string Phone { get; set;}
public virtual ICollection<Department> Departments { get; set;}
}
public class Department
{
public Department()
{
this.Users = new HashSet<User>();
}
public int Id { get; set;}
public string Name { get; set;}
public virtual Company Company { get; set;}
public virtual ICollection<User> Users { get; set;}
}
public class User
{
public Company()
{
}
public int Id { get; set;}
public string UserName { get; set;}
public string FullName { get; set;}
public virtual Department Department { get; set;}
}
public class TaskType1
{
public TaskType1()
{
}
public int Id { get; set;}
public string Name { get; set;}
public string Description { get; set;}
public int Priority { get; set;}
}
public class TaskType2
{
public TaskType2()
{
}
public int Id { get; set;}
public string Name { get; set;}
public string Description { get; set;}
public int Priority { get; set;}
public double EstimatedCosts { get; set;}
}
public class TaskType3
{
public TaskType3()
{
}
public int Id { get; set;}
public string Name { get; set;}
public string Description { get; set;}
public int Priority { get; set;}
public bool IsDone { get; set;}
}
TaskType1、TaskType2、TaskType3 をテーブルとして持つ必要がある理由は、さまざまな種類のタスクがあるためです (さまざまなデータ/フィールドが必要です)。
次のような結果が得られるように、自分のタスク タイプを会社、部門、およびユーザーに接続するにはどうすればよいですか。
- 会社ごとのすべてのタスク X
- 会社 x から部門 z に割り当てられたすべてのタスク
- 会社 x の部門 z のユーザー w に割り当てられたすべてのタスク
PSタスクタイプには共通の列と異なる列があります