0

ある種の状況でエンティティを作成するためのベスト プラクティスを検索します。

サンプルがあります:

データベースには 4 つのテーブルがあります。

Table Server
id
name
...

Table Environment
id
name

Table Application
id
name
...

Table JCT_Application_Server_Environment
idApplication
idServer
idEnvironment

1 つのテーブル (JCT_Application_Server_Environment) によってリンクされた 3 つのテーブルがあります。

私のシステム(asp.net内)は、アプリケーションの「サーバー」のリストを表示する必要があります。

したがって、次のようなエンティティを使用する必要があります。

V1

class JCT_Application_Server_Environment
public idApplication
public idServer
public idEnvironment

各項目について、サーバーと環境をロードします。これは、毎回ロードするデータグリッドでは「困難」になります。私の目的としては、それは良いことではないと思います。


または、エンティティを作成したほうがよいでしょう:

V2

class JCT_Application_Server_Environment
    public ApplicationName
    public ServeurName
    public EnvironmentName

あなたは必要なものを持っています。シンプルに、最小限にとどめてください。さらに必要な場合は、時間をかけてください。

多くのプロパティがある場合、エンティティを実行するのに時間がかかります。また、すべてのプロパティは、別のエンティティ (元のアプリケーション/サーバー/環境) で既に作成されています。


または多分

V3

class JCT_Application_Server_Environment
    public Application //As Application entity
    public Server     //As Server entity
    public Environment //As Environment entity

Sub New(row as datarow) //each New do a GetElementById on Database
   me.Application = New Application(row("idApplication"))
   me.Server = New Server (row("idServer "))
   me.Environment = New Environment (row("idEnvironment "))

最初は読み込みに時間がかかりますが、必要なものやそれ以上のものを手に入れることができます。Datagrid は、サブ値 (Server.Name/Environment.Name) を取得することを知る必要があります。


最初のものは主にインポート/エクスポート システムで使用されます。webView の場合、gridview のデータバインドを簡単に行うことを好むため、私が使用したバージョンではありません。

2 番目の方がより頻繁に使用されますが、エンティティは 1 つのことだけを目的としています。1 つのグリッドビューに対して 1 つのエンティティ。実際の状況は、2 番目のバージョンに適合します。2番目と3番目のどちらが良いか知りたいだけです。.net の経験を持つ開発者がよく行うこと。

他のオプションがある場合は、回答として投稿できます。


私の実際のプロジェクトでは、V3 を使用することにしましたが、コンテナーにのみ使用しました。データはDALで埋められます。

ダルは次のようなことをします

function GetList() as List(Of JCT_Application_Server_Environment)

Get List of Application_Server_Environment containing id's

for each item
grab Application, Server and Envirenment by id
create a new JCT_Application_Server_Environment with those 3
add to list of JCT_Application_Server_Environment

return list
4

1 に答える 1