ADO.NET Entity Framework and identity columns

前端 未结 10 1525
甜味超标
甜味超标 2020-12-29 18:06

Is the Entity Framework aware of identity columns?

I am using SQL Server 2005 Express Edition and have several tables where the primary key is an identity column. w

10条回答
  •  再見小時候
    2020-12-29 18:38

    I cannot believe it. Intellisensing ItemCollection yield the single item with ID = 0 after SaveChanges.

                Dim ItemCollection = From d In action.Parameter
                Select New STOCK_TYPE With {
                            .Code = d.ParamValue..Value,
                            .GeneralUseID = d.ParamValue..Value,
                }
    
    
                GtexCtx.STOCK_TYPE.AddObject( ItemCollection.FirstOrDefault)
                GtexCtx.SaveChanges()
    

    No matter what I do. After 8 hours including deleting my model, 35 times building and rebuilding, experimenting and editing the XML of EDMX and now almost coming to deleting my whole SQL Server database. At the 36th compile, this dumbfounding solution worked

                Dim abc = ItemCollection.FirstOrDefault
                GtexCtx.STOCK_TYPE.AddObject(abc)
                GtexCtx.SaveChanges()
    

    abc.ID yield 41 (the identity i needed)

    EDIT: Here's a simple code for thought for looping AddObject and still get ID

    Dim listOfST As List(Of STOCK_TYPE) = ItemCollection.ToList()
          For Each q As STOCK_TYPE In listOfST 
             GtexCtx.STOCK_TYPE.AddObject(q)
          Next
     GtexCtx.SaveChanges()
    
    ...more code for inter-relationship tables
    

    Try Intellisence listOfST after SaveChanges and you will find updated ID. Maybe there's better way but the concept is there

提交回复
热议问题