0

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 コードに記載)。誰でも助けてください。前もって感謝します。

4

1 に答える 1

0

Entity Frameworkのような O/R マッパーを使用するだけで、これが処理されます。

于 2013-01-23T11:37:13.603 に答える