私はMVCを初めて使用し、次の問題があります。
私のアプリケーションでは、クライアントは必要な列/フィールドを使用して自分でテーブルを作成できるようになります。
したがって、私の最初の問題は、テーブルがどのように表示されるかわからない場合、モデルクラスをどのように設計すればよいかということでした。これは、すべてのフィールドをリストに入れることで解決されたため、動的です。
public class DynamicData
{
public List<decimal> fields { get; set; }
public DynamicData(String tableName)
{
}
}
静的テーブルも取得しました。これには、作成されたテーブルに関する情報が含まれます。
public class Table
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
public string TableName { set; }
[DataType(DataType.Date)]
public DateTime ReleaseDate { get;}
}
次のことは、それらをDbContextに配置することでした。これは、静的テーブルでは単純ですが、作成されたテーブルの動的リストでは単純ではありません。
public class MyDBContext : DbContext
{
public DbSet<Table> Tables { get; set; }
public List<DbSet<DynamicData>> DynamicTables { get; set; }
public MyDBContext() : base()
{
//how do I get my tables now?
}
}
そして今、私はどうすればいいのかわからないところにいます。これが最善の方法かどうかはわかりませんが、これが私の最初のアイデアです。
2つの質問:1。これが最善の方法ですか?その問題の標準的な解決策はありますか(動的なテーブル数+動的なテーブル)2。DbContextのリストでテーブルを取得するにはどうすればよいですか?また、モデルでフィールドを取得するにはどうすればよいですか?