好的,我甚至不知道從哪裏開始。 SQL編程對我來說是相當新的。使用LINQ將數據從幾個類添加到MS SQL數據庫?
另外,在我繼續談論我的問題之前,我希望能夠在LINQ中完成此操作,而不是使用存儲過程。
問題:我有多個嵌套類,我需要能夠將類添加到sql數據庫中的多個表。如果它已經存在,我也不需要添加數據。
-------------------------------------------------------------------------- - Products - Build - File - FileDetail - BuildFiles - -------------------------------------------------------------------------- - ProductID - BuildID - FileID - FileDetailID - BuildFilesID - - Product_Name - Build_Number - File_Name - File_Size - BuildID - - - Build_Date - File_Path - File_Version - FileID - - - ProductID - ProductID - BuildFilesID - - --------------------------------------------------------------------------
我的課程類似但不完全相同。因此,例如:
ProductProperties productProperties = new ProductProperties("Notepad","090706");
Product myProduct = new Product(productProperties);
FileDetails fileDetails = new fileDetails("Notepad.exe","20kb","1.0.0.0");
myProduct.AddFile(fileDetails);
FileDetails fileDetails2 = new fileDetails("Notepad.config","5kb","1.1.2.5");
myProduct.AddFile(fileDetails2);
現在我需要將詳細信息添加到SQL數據庫。
有關該工具的一些注意事項:
- 我已經確保了產品在我的代碼早存在。 (以上是一個粗略的例子)
- 我也驗證是否存在尚未建立,如果有那麼我將我的新信息前刪除所有與該特定構建的細節
這是我在哪裏卡:
- 所以我需要使用現有的產品編號
- 我需要創建構建細節
- 我需要添加一個文件,如果文件不存在,或讓現有寫到FileID如果文件已存在
- 我則需要特定的文件添加到特定的構建(構建文件表)
- 然後我需要添加文件的詳細信息
所以非常需要多大的一切,哈哈。
問題是,我不知道最好的方法。例如,是否創建查詢以查找特定產品的產品ID,然後在將該行添加到構建表時使用該產品ID?
我是否有一個sperate方法來查看特定產品是否存在文件,如果不存在,那麼添加文件?
然後,當我這樣做時,是否查詢文件和構建以獲取buildID和FileID並將構建和文件添加到BuildFiles表。
然後最後通過首先查詢buildFiles詳細信息來獲取ID,然後使用BuildFilesID將值添加到文件詳細信息表中?
還是我完全錯了?
如果我有20'000個文件可能是這種情況,將會有成千上萬的查詢只是爲了做到這一點,所以我擔心它會有點慢或者瘋狂。
任何想法的建議和例子將是偉大的!
問題是我不明白我應該怎麼做。 例如,我應該有一個方法來驗證文件存在,如果不添加它們,那麼在那之後,然後添加文件的詳細信息? – 2009-06-09 05:52:04