2016-04-18 33 views
1

私はC#を使用してテーブルを更新しようとしています。 私はXMLファイルを絶望的にしてから、XMLからそれらの値でテーブルを更新しています。これは機能します。同じ変数の2つの値

ただし、主キーが別の値に置き換えられることがあります。例えば

:私はXMLで時々Name, LastName, Middlename where PersonIdentity = @PersonIdentity

command1.Parameters.AddWithValue("@PersonIdentity", p.PersonIdentity); 

を更新したい

PersonIdentityPersonidentityNumberに置き換えられています。これは、データベース(PersonIdentityPersonIdentityNumberは同じものですが、XMLで、それだけで、時には異なる書かれているのと同じに行動しなければならない

今私の質問は次のとおりです。

がどのように私は2つを読み取ることが可能であるため、 XMLタグ(私はそれを行うことができます)と、データベース内の同じ主キーにそれを参照してください?

私はPersonIdentityPersonIdentityNumberの両方がデータベースにPersonIdentityを表現したい。XMLでは、名前が違うだけです、でもカントー彼らは同じ種類と同じ番号を持っています。

UPDATE

は、ここに私のXML

<ArrayOfFolkbokforingspostTYPE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>0000000000</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering> 
     <Fornamn>Erik Lennart</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Enberg</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20060512</Folkbokforingsdatum> 
     <LanKod>25</LanKod> 
     <KommunKod>14</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>PÅLÄNGE 6:38</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>STORVÄGEN 65</Utdelningsadress2> 
      <PostNr>95204</PostNr> 
      <Postort>PÅLÄNG</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>250015520</FastighetsId> 
      <AdressplatsId>2416233</AdressplatsId> 
      <LagenhetsId>22143838</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>25</FodelselanKod> 
      <Fodelseforsamling>NEDERKALIX</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <TilldelatPersonNrSamordningsNr>454363463466</TilldelatPersonNrSamordningsNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Fornamn styrkt="J">Eduardo Metran</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn styrkt="J">Garcia</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum xsi:nil="true" /> 
     <LanKod>14</LanKod> 
     <KommunKod xsi:nil="true" /> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning xsi:nil="true" /> 
     </Folkbokforing> 
     <Adresser /> 
     <Fodelse> 
     <OrtUtlandet> 
      <FodelseortUtland styrkt="J">Sta Cruz Zambales</FodelseortUtland> 
      <Fodelseland>FILIPPINERNA</Fodelseland> 
     </OrtUtlandet> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod styrkt="J">PH</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>62364363455</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Fornamn>Sarah Dina Tomasdotter</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Själander</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20120123</Folkbokforingsdatum> 
     <LanKod>01</LanKod> 
     <KommunKod>80</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>SLALOMSVÄNGEN 3</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>STÖRTLOPPSVÄGEN 18 LGH 1102</Utdelningsadress2> 
      <PostNr>12947</PostNr> 
      <Postort>HÄGERSTEN</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>010114422</FastighetsId> 
      <AdressplatsId>1463872</AdressplatsId> 
      <LagenhetsId>24865059</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>01</FodelselanKod> 
      <Fodelseforsamling>SPÅNGA</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 

あなたはPersonId -tag上で見ることができるように、それは時々PersonNrがあり、まれにそれがTilldelatPersonNrSamordningsNrを持っています。私はそれらの両方がpersonidentity

pを表現したいことは、クラスである:

class Person { 
     public string PersonalIdentityNumber { get; set; } 
     public string SpecialIdentityNumber { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
     public string NationalRegistrationCountyCode { get; set; } 
     public string NationalRegistrationMunicipalityCode { get; set; } 
     public string NationalRegistrationDistributionAddress2 { get; set; } 
     public string NationalRegistrationPostCode { get; set; } 
     public string CitizenshipCode { get; set; } 
} 

UPDATE 2

私の全体のコード:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.SqlClient; 
using System.Xml; 
using System.Data; 
using System.Xml.Serialization; 
using System.IO; 

namespace TESTMAPPNING2 
{ 
    class Program 
{ 
     static void Main(string[] args) 
     { 
      try 
      { 

      List<FolkbokforingspostTYPE> deserializedList = new List<FolkbokforingspostTYPE>(); 
      deserializedList = Deserialize<List<FolkbokforingspostTYPE>>(); 


      var myPersons = Deserialize<List<FolkbokforingspostTYPE>>() 
       .Select(x => new Person 
       { 
        PersonalIdentityNumber = x.Personpost.PersonId.PersonNr, 
        SpecialIdentityNumber = x.Personpost.PersonId.Tilltalsnamnsmarkering != null ? x.Personpost.PersonId.Tilltalsnamnsmarkering : null, 
        LastName = x.Personpost.Namn.Efternamn, 
        FirstName = x.Personpost.Namn.Fornamn, 
        NationalRegistrationCountyCode = x.Personpost.Folkbokforing.LanKod, 
        NationalRegistrationMunicipalityCode = x.Personpost.Folkbokforing.KommunKod, 
        NationalRegistrationDistributionAddress2 = x.Personpost.Adresser.Folkbokforingsadress != null ? x.Personpost.Adresser.Folkbokforingsadress.Utdelningsadress2 : null, 
        NationalRegistrationPostCode = x.Personpost.Adresser.Folkbokforingsadress != null ? x.Personpost.Adresser.Folkbokforingsadress.PostNr : null, 
        CitizenshipCode = x.Personpost.Medborgarskap.MedborgarskapslandKod, 

        // and so on 
       }); 

      // var FirstName = deserializedList.Select(item => item.Personpost.Namn.Fornamn).ToList(); 

      // var LastName = deserializedList.Select(item => item.Personpost.Namn.Efternamn).ToList(); 
      // var LanKod = deserializedList.Select(item => item.Personpost.Folkbokforing.LanKod).ToList(); 
      // var Kommunkod = deserializedList.Select(item => item.Personpost.Folkbokforing.KommunKod).ToList(); 

      //// var UtdelAdress2 = deserializedList.Select(item => item.Personpost.Adresser.Folkbokforingsadress.Utdelningsadress2).ToList(); 
      // var PostNr = deserializedList.Select(item => item.Personpost.Adresser.Folkbokforingsadress != null ? item.Personpost.Adresser.Folkbokforingsadress.PostNr : null); 

      // //var PostOrt = deserializedList.Select(item => item.Personpost.Adresser.Folkbokforingsadress.Postort).ToList(); 

      // //var FodelselanKod = deserializedList.Select(item => item.Personpost.Fodelse.HemortSverige.FodelselanKod).ToList(); 

      // //var Fodelseforsamling = deserializedList.Select(item => item.Personpost.Fodelse.HemortSverige.Fodelseforsamling).ToList(); 

      // var MedborgarskapslandKod = deserializedList.Select(item => item.Personpost.Medborgarskap.MedborgarskapslandKod).ToList(); 

      // var Medborgarskapsdatum = deserializedList.Select(item => item.Personpost.Medborgarskap.Medborgarskapsdatum).ToList(); 


      //var zipped = PersonalIdentityNumber.Zip(FirstName, Tuple.Create); 

      //  foreach (var tuple in zipped) 
      //  { 
      //   //Console.WriteLine(tuple.Item1); 
      //   //Console.WriteLine(tuple.Item2); 
      //  } 

      //Console.WriteLine(PersonalIdentityNumber.Count()); 

      //for (int i = 0; i < PersonalIdentityNumber.Count; i++) 
      //{ 
      // var personnummer = PersonalIdentityNumber[i]; 
      // var fornamn = FirstName[i]; 
      //  var efternamn = LastName[i]; 

      //  var lankod = LanKod[i]; 
      //  var kommunkod = Kommunkod[i]; 
      //  var utdelAdress2 = UtdelAdress2[i]; 
      //  var postNr = PostNr[i]; 
      //  var postOrt = PostOrt[i]; 
      //  var fodelselanKod = FodelselanKod[i]; 
      //  var fodelseforsamling = Fodelseforsamling[i]; 
      //  var medborgarskapslandKod = MedborgarskapslandKod[i]; 
      //  var medborgarskapsdatum = Medborgarskapsdatum[i]; 
      //   use your variables 


      //} 

      //Console.WriteLine(PersonalIdentityNumber.Count()); 

      //foreach (var i in PersonalIdentityNumber) 
      //{ 
      // Console.WriteLine("Personnummer: " + i); 

      // foreach(var a in FirstName) 
      // { 
      //  Console.WriteLine("Namn: " + a); 
      // } 







      string connetionString = null; 


      SqlDataAdapter adpter = new SqlDataAdapter(); 
      DataSet ds = new DataSet(); 
      XmlReader xmlFile; 



      connetionString = "Data Source=tsrv2062;Initial Catalog=Bums;User ID=BumsUser;Password=2tusen7Bums"; 


      xmlFile = XmlReader.Create("navetout.xml", new XmlReaderSettings()); 
      ds.ReadXml(xmlFile); 


      using (var connection = new SqlConnection(connetionString)) 
      { 
       connection.Open(); 



       DateTime datum = DateTime.Now; 

       SqlCommand command1 = new SqlCommand("UPDATE Seamen SET FirstName = @FirstName, LastName = @LastName, NationalRegistrationCountyCode = @NationalRegistrationCountyCode, NationalRegistrationMunicipalityCode = @NationalRegistrationMunicipalityCode,NationalRegistrationPostCode = @NationalRegistrationPostCode, CitizenshipCode = @CitizenshipCode, LastChangedDate = @LastChangedDate WHERE PersonalIdentityNumber = @PersonalIdentityNumber", connection); 

       foreach (Person p in myPersons) 
       { 

        command1.Parameters.Clear(); 
        command1.Parameters.AddWithValue("@PersonalIdentityNumber", p.PersonalIdentityNumber); 
        command1.Parameters.AddWithValue("@PersonalIdentityNumber", p.SpecialIdentityNumber ?? DBNull.Value.ToString()); 
        command1.Parameters.AddWithValue("@FirstName", p.FirstName); 
        command1.Parameters.AddWithValue("@LastName", p.LastName); 
        command1.Parameters.AddWithValue("@NationalRegistrationCountyCode", p.NationalRegistrationCountyCode); 
        command1.Parameters.AddWithValue("@NationalRegistrationMunicipalityCode", p.NationalRegistrationMunicipalityCode); 
        command1.Parameters.AddWithValue("@NationalRegistrationDistributionAddress2", p.NationalRegistrationDistributionAddress2 ?? DBNull.Value.ToString()); 
        command1.Parameters.AddWithValue("@NationalRegistrationPostCode", p.NationalRegistrationPostCode ?? DBNull.Value.ToString()); 
        ////command1.Parameters.AddWithValue("@NationalRegistrationCity", postOrt); 
        ////command1.Parameters.AddWithValue("@BirthCountyCode", fodelselanKod); 
        ////command1.Parameters.AddWithValue("@BirthParish", fodelseforsamling); 
        command1.Parameters.AddWithValue("@CitizenshipCode", p.CitizenshipCode); 
        //// command1.Parameters.AddWithValue("@CitizenshipDate", medborgarskapsdatum); 
        command1.Parameters.AddWithValue("@LastChangedDate", datum); 



        command1.ExecuteNonQuery(); 

        Console.WriteLine(p.PersonalIdentityNumber); 


       } 
      } 

      Console.WriteLine("Done"); 


      }// Put a break-point here, then mouse-over PersonalIdentityNumber... deserializedList contains everything if you need it 
      catch (Exception) 
      { 

       throw; 
      } 
      Console.ReadKey(); 
     } 

    class Person { 
     public string PersonalIdentityNumber { get; set; } 
     public string SpecialIdentityNumber { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
     public string NationalRegistrationCountyCode { get; set; } 
     public string NationalRegistrationMunicipalityCode { get; set; } 
     public string NationalRegistrationDistributionAddress2 { get; set; } 
     public string NationalRegistrationPostCode { get; set; } 
     public string CitizenshipCode { get; set; } 
} 

    private static T Deserialize<T>() where T : new() 
    { 
     // Create an instance of T 
     T ReturnListOfT = CreateInstance<T>(); 


     // Create a new file stream for reading the XML file 
     using (FileStream ReadFileStream = new FileStream("navetout.xml", FileMode.Open, FileAccess.Read, FileShare.Read)) 
     { 
      // Construct a XmlSerializer and use it 
      // to serialize the data from the stream. 
      XmlSerializer SerializerObj = new XmlSerializer(typeof(T)); 
      try 
      { 
       // Deserialize the hashtable from the file 
       ReturnListOfT = (T)SerializerObj.Deserialize(ReadFileStream); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(string.Format("Failed to serialize. Reason: {0}", ex.Message)); 
      } 

     } 
     // return the Deserialized data. 
     return ReturnListOfT; 
    } 

    // function to create instance of T 
    public static T CreateInstance<T>() where T : new() 
    { 
     return (T)Activator.CreateInstance(typeof(T)); 
    } 





} 

[XmlRoot(ElementName = "Sekretessmarkering")] 
public class Sekretessmarkering 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "PersonId")] 
public class PersonId 
{ 
    [XmlElement(ElementName = "PersonNr")] 
    public string PersonNr { get; set; } 

    [XmlElement(ElementName = "TilldelatPersonNrSamordningsNr")] 
    public string Tilltalsnamnsmarkering { get; set; } 
} 

[XmlRoot(ElementName = "HanvisningsPersonNr")] 
public class HanvisningsPersonNr 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Mellannamn")] 
public class Mellannamn 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Aviseringsnamn")] 
public class Aviseringsnamn 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Namn")] 
public class Namn 
{ 
    [XmlElement(ElementName = "Tilltalsnamnsmarkering")] 
    public string Tilltalsnamnsmarkering { get; set; } 
    [XmlElement(ElementName = "Fornamn")] 
    public string Fornamn { get; set; } 
    [XmlElement(ElementName = "Mellannamn")] 
    public Mellannamn Mellannamn { get; set; } 
    [XmlElement(ElementName = "Efternamn")] 
    public string Efternamn { get; set; } 
    [XmlElement(ElementName = "Aviseringsnamn")] 
    public Aviseringsnamn Aviseringsnamn { get; set; } 
} 

[XmlRoot(ElementName = "ForsamlingKod")] 
public class ForsamlingKod 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Folkbokforing")] 
public class Folkbokforing 
{ 
    [XmlElement(ElementName = "Folkbokforingsdatum")] 
    public string Folkbokforingsdatum { get; set; } 
    [XmlElement(ElementName = "LanKod")] 
    public string LanKod { get; set; } 
    [XmlElement(ElementName = "KommunKod")] 
    public string KommunKod { get; set; } 
    [XmlElement(ElementName = "ForsamlingKod")] 
    public ForsamlingKod ForsamlingKod { get; set; } 
    [XmlElement(ElementName = "Fastighetsbeteckning")] 
    public string Fastighetsbeteckning { get; set; } 
    [XmlElement(ElementName = "FiktivtNr")] 
    public string FiktivtNr { get; set; } 
} 

[XmlRoot(ElementName = "CareOf")] 
public class CareOf 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Utdelningsadress1")] 
public class Utdelningsadress1 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Folkbokforingsadress")] 
public class Folkbokforingsadress 
{ 
    [XmlElement(ElementName = "CareOf")] 
    public CareOf CareOf { get; set; } 
    [XmlElement(ElementName = "Utdelningsadress1")] 
    public Utdelningsadress1 Utdelningsadress1 { get; set; } 
    [XmlElement(ElementName = "Utdelningsadress2")] 
    public string Utdelningsadress2 { get; set; } 
    [XmlElement(ElementName = "PostNr")] 
    public string PostNr { get; set; } 
    [XmlElement(ElementName = "Postort")] 
    public string Postort { get; set; } 
} 

[XmlRoot(ElementName = "Riksnycklar")] 
public class Riksnycklar 
{ 
    [XmlElement(ElementName = "FastighetsId")] 
    public string FastighetsId { get; set; } 
    [XmlElement(ElementName = "AdressplatsId")] 
    public string AdressplatsId { get; set; } 
    [XmlElement(ElementName = "LagenhetsId")] 
    public string LagenhetsId { get; set; } 
} 

[XmlRoot(ElementName = "Adresser")] 
public class Adresser 
{ 
    [XmlElement(ElementName = "Folkbokforingsadress")] 
    public Folkbokforingsadress Folkbokforingsadress { get; set; } 
    [XmlElement(ElementName = "Riksnycklar")] 
    public Riksnycklar Riksnycklar { get; set; } 
} 

[XmlRoot(ElementName = "HemortSverige")] 
public class HemortSverige 
{ 
    [XmlElement(ElementName = "FodelselanKod")] 
    public string FodelselanKod { get; set; } 
    [XmlElement(ElementName = "Fodelseforsamling")] 
    public string Fodelseforsamling { get; set; } 
} 

[XmlRoot(ElementName = "Fodelse")] 
public class Fodelse 
{ 
    [XmlElement(ElementName = "HemortSverige")] 
    public HemortSverige HemortSverige { get; set; } 
} 

[XmlRoot(ElementName = "Medborgarskap")] 
public class Medborgarskap 
{ 
    [XmlElement(ElementName = "MedborgarskapslandKod")] 
    public string MedborgarskapslandKod { get; set; } 
    [XmlElement(ElementName = "Medborgarskapsdatum")] 
    public string Medborgarskapsdatum { get; set; } 
} 

[XmlRoot(ElementName = "Personpost")] 
public class Personpost 
{ 
    [XmlElement(ElementName = "PersonId")] 
    public PersonId PersonId { get; set; } 
    [XmlElement(ElementName = "HanvisningsPersonNr")] 
    public HanvisningsPersonNr HanvisningsPersonNr { get; set; } 
    [XmlElement(ElementName = "Namn")] 
    public Namn Namn { get; set; } 
    [XmlElement(ElementName = "Folkbokforing")] 
    public Folkbokforing Folkbokforing { get; set; } 
    [XmlElement(ElementName = "Adresser")] 
    public Adresser Adresser { get; set; } 
    [XmlElement(ElementName = "Fodelse")] 
    public Fodelse Fodelse { get; set; } 
    [XmlElement(ElementName = "Medborgarskap")] 
    public Medborgarskap Medborgarskap { get; set; } 
} 

[XmlRoot(ElementName = "FolkbokforingspostTYPE")] 
public class FolkbokforingspostTYPE 
{ 
    [XmlElement(ElementName = "Sekretessmarkering")] 
    public Sekretessmarkering Sekretessmarkering { get; set; } 
    [XmlElement(ElementName = "Personpost")] 
    public Personpost Personpost { get; set; } 
} 
} 
+0

男私はあなたが抱いているものを手に入れませんでした。あなたのxmlのコピーとテーブルスキームもコピーしてください。 – Marco

+0

'p.PersonIdentity'に' p'とはどのような型ですか? – Marusyk

+0

@MegaTronそれはクラスです。私は私の答えにそれを含めました。 –

答えて

2

はここで連結していない理由の提案、ですプライマリキーを割り当てるときのPersonalIdentityNumberとSpecialIdentityNumberテーブル?

public class Person 
{ 
     public string PersonalIdentityNumber { get; set; } 
     public string SpecialIdentityNumber { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
     public string NationalRegistrationCountyCode { get; set; } 
     public string NationalRegistrationMunicipalityCode { get; set; } 
     public string NationalRegistrationDistributionAddress2 { get; set; } 
     public string NationalRegistrationPostCode { get; set; } 
     public string CitizenshipCode { get; set; } 
} 

データベースを更新 ...

  foreach (Person p in myPersons) 
      { 
       command1.Parameters.Clear(); 
       command1.Parameters.AddWithValue("@PersonalIdentityNumber", string.Format("{0}{1}", p.PersonalIdentityNumber, p.SpecialIdentityNumber)); 
       command1.Parameters.AddWithValue("@FirstName", p.FirstName); 
       command1.Parameters.AddWithValue("@LastName", p.LastName); 
       command1.Parameters.AddWithValue("@NationalRegistrationCountyCode", p.NationalRegistrationCountyCode); 
       command1.Parameters.AddWithValue("@NationalRegistrationMunicipalityCode", p.NationalRegistrationMunicipalityCode); 
       command1.Parameters.AddWithValue("@NationalRegistrationDistributionAddress2", p.NationalRegistrationDistributionAddress2 ?? DBNull.Value.ToString()); 
       command1.Parameters.AddWithValue("@NationalRegistrationPostCode", p.NationalRegistrationPostCode ?? DBNull.Value.ToString()); 
       ////command1.Parameters.AddWithValue("@NationalRegistrationCity", postOrt); 
       ////command1.Parameters.AddWithValue("@BirthCountyCode", fodelselanKod); 
       ////command1.Parameters.AddWithValue("@BirthParish", fodelseforsamling); 
       command1.Parameters.AddWithValue("@CitizenshipCode", p.CitizenshipCode); 
       //// command1.Parameters.AddWithValue("@CitizenshipDate", medborgarskapsdatum); 
       command1.Parameters.AddWithValue("@LastChangedDate", datum); 



       command1.ExecuteNonQuery(); 

       Console.WriteLine(p.PersonalIdentityNumber); 


      } 

PersonalIdentityNumberフィールドはPerson.p.SpecialIdentityNumber + Person.p.SpecialIdentityNumberに等しくなります。どちらか一方が欠落していても両方が存在していても、それでも問題はありません。 PersonalIdentityNumberフィールドを使用してデータを取得する方法を調整するだけです。

+0

ありがとうございました! –

関連する問題