Announcement

Collapse
No announcement yet.

Insert in Tabelle mit FK- SQLServer2008,VST 2008,fw 3.5 sp1, ado.net entity Datamodel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Insert in Tabelle mit FK- SQLServer2008,VST 2008,fw 3.5 sp1, ado.net entity Datamodel

    Hallo allerseits,

    wie schon im Titel beschrieben habe ich momentan ein Problem mit der verwendung des ADO.net entity data model.
    Ich nutze den SQL-Server 2008, Visual Studio 2008 SP1, .NET-Framework 3.5 SP1 und LINQ to Entity.

    Nun habe ich zwischen 2 Tabellen eine 1:1 Beziehung. In der einen Tabelle habe ich eine einfache ID als Primary Key und die andere Tabelle referenziert diese als Foreign Key und nutzt sie ebenso als Primary Key.
    Das Einfügen von Daten in die 1. Tabelle bekomme ich ohne Probleme hin, aber bei der 2. bekomme ich immer eine UpdateException.

    Hier ein Codeauszug:

    Code:
    static public int SetMusicFile(string Title, 
                                             string Artist, 
                                             TimeSpan Duration, 
                                             int Publication, 
                                             string Album, 
                                             string Genre, 
                                             string Path)
            {
    
                object matchedMusicFile = null;
                try
                {
                    matchedMusicFile = (from Music in jukeboxDB.MusicTbl
                                            where Music.Title == Title &&
                                                  Music.Artist == Artist &&
                                                  Music.Duration == Duration &&
                                                  Music.Publication.Value.Year == Publication &&
                                                  Music.Album == Album &&
                                                  Music.Genre == Genre
                                            select Music).First();
                }
                catch ( Exception ex) {  }
                
                    FileInfo MusicFile = new FileInfo(Path);
                    FileStream fs = MusicFile.OpenRead();
                    byte[] bytFile = new byte[MusicFile.Length];
    
                    int buff = fs.Read(bytFile, 0, (int)MusicFile.Length);
                    if (matchedMusicFile == null)
                    {
                    MusicTbl msc = MusicTbl.CreateMusicTbl(Title, Artist, Duration, Publication, Album, Genre);
                    jukeboxDB.AddToMusicTbl(msc);
                    jukeboxDB.SaveChanges();
                    }
                    int mscID = ((MusicTbl)matchedMusicFile).MusicID;
                    jukeboxDB.AddToFileTbl(
                        FileTbl.CreateFileTbl(((MusicTbl)matchedMusicFile).MusicID, bytFile));
                    jukeboxDB.SaveChanges();
    
                    return mscID;
            }

    Kann mir da jemand nen Tip geben?

    Gruß, Athlone
Working...
X