我認爲一個好方法是將您的類序列化爲XML並將它們傳遞給SQL。對於服務器的一部分,一個路徑開始將是:
create table Books (BookID int identity, Title varchar(50), Rating int);
create table Chapters (BookID int, Title varchar(50), Sequence int);
go
create procedure AddBook
@book xml
as
begin
insert Books (Title, Rating)
select
n.value('@Title', 'varchar(50)'),
n.value('@Rating', 'int')
from
@book.nodes('/Book') x(n);
declare @bookID int;
set @bookID = scope_identity();
insert Chapters (BookID, Title, Sequence)
select
@bookID,
n.value('@Title', 'varchar(50)'),
n.value('@Sequence', 'int')
from
@book.nodes('/Book/Chapters/Chapter') x(n);
end;
go
declare @data xml;
set @data = '
<Book Title="New Book" Rating="9">
<Chapters>
<Chapter Title="Chapter 1" Sequence="1" />
<Chapter Title="Chapter 2" Sequence="2" />
<Chapter Title="Chapter 3" Sequence="3" />
</Chapters>
</Book>'
exec AddBook @data;
select * from Books;
select * from Chapters;
結果:
BookID Title Rating
----------- -------------------------------------------------- -----------
1 New Book 9
(1 row(s) affected)
BookID Title Sequence
----------- -------------------------------------------------- -----------
1 Chapter 1 1
1 Chapter 2 2
1 Chapter 3 3
(3 row(s) affected)
而且不要忘記收拾在一個交易過程中的語句。
來源
2013-04-25 19:17:18
Dan
向我們展示您的嘗試。 –
我試過的東西已經在上面演示過了。 –
「以下代碼正常工作」...「但我無法修改我的代碼...」 - 請告訴我們您嘗試過哪些修改。告訴我們你卡在哪裏。我們不會爲你做你的工作。 –