UI の IEnumerable データと SQL Server 2008 の IEnumerable データを比較し、UI から DB に新しい要素を挿入/更新し、UI データに基づいて DB から要素を削除する必要があります。
DBにDistribution_X_ListTypeテーブルを次のように持っています:
DistributionID ListTypeID EmployeeNumber DepartmentID LocationID
1 2 84528 NULL NULL
1 3 NULL 8051 NULL
1 5 NULL NULL 319
私は次のようにプロジェクトにインターフェースを持っています:
public interface IDistributionList : IEntity
{
string Name { get; set; }
bool ActiveFlag { get; set; }
...........................
...........................
IEnumerable<IDistributionListType> ListTypes { get; set; }
}
別のインターフェースは次のとおりです。
public interface IDistributionListType
{
int? DistributionID { get; set; }
int ListTypeID { get; set; }
int EmployeeNumber { get; set; }
int DepartmentID { get; set; }
int LocationID { get; set; }
}
別のプロジェクトでは、次のように保存機能を使用しています。
public int Save(IDistributionList distributionList)
{
SqlDataReader reader = null;
int rowsaffected = 0;
try
{
sqlcommand = new SqlCommand("spGetDistributionListTypeByID", con); //spGetDistributionListTypeByID - This SP returns all the members from Distribution_X_ListType table for the given distribution ID
sqlcommand.CommandType = CommandType.StoredProcedure;
sqlcommand.Parameters.AddWithValue("@Distribution_ID", distributionList.ID);
reader = sqlcommand.ExecuteReader();
while (reader.Read())
{
????Value Should be stored in an IDistributionListType variable,say IDistributionListTypeFromDB
}
????IDistributionListType from function parameter(Lets say from UI) should be compared with the above IDistributionListTypeFromDB data.
????Insert/Delete should be done in DB by comparing the data.
}
}
UI からの IDistributionListType の値を次のようにします。
DistributionID ListTypeID EmployeeNumber DepartmentID LocationID
1 2 84528 NULL NULL
1 5 NULL NULL 64
DB からの IDistributionListType の値を次のようにします。
DistributionID ListTypeID EmployeeNumber DepartmentID LocationID
1 2 84528 NULL NULL
1 3 NULL 8051 NULL
1 5 NULL NULL 319
UI からのデータで DB を更新する必要があります。次のように、さらに2つのSPがあります。
spInsertUpdateDistributionListType - Insert/Update Distribution_X_ListType table based on DistributionID and listtypeID
spDeleteDistributionListType - Delete Distribution_X_ListType table based on DistributionID and listtypeID
コーディングの仕方がわからない???? エリア (.net コードに記載)。誰でも助けてください。前もって感謝します。