System
Language:C#
Database:SQL
IDE:C# Express 2010
我有一个用户对象/类和数据库表。用户有多个地址,我已经定义了地址表,如何添加地址并将其提交到数据库
我为用户创建了一个添加函数(见下文)用户类包含一个列表地址
用户类
int id
string name
List<Address> adresses
表用户
id
name
addresses
表地址
id
address
user_id (FK)
我在 User 类中有 Add 函数来添加用户对象,我删除了处理代码以使其在 SO 上更清晰。
我的问题是,如何获取刚刚添加的用户的 id 并将地址添加到数据库中。以及如何在地址表上定义 FK
class User {
public static bool Add(User user, UserOptions option = UserOptions.System)
{
//Instantiate the DataClassesDataContext
var db = DBContext.Create();
//Make Sure User does not exist
//returns true if no existing user
if (Users.validateForAdd(user))
{
//Now add
db.Users.InsertOnSubmit(user);
//I assume I would get the id of the user just added but not sure how I do that
db.SubmitChanges();
return true;
}
//Failed to add
return false;
}
最终解决方案
只是想我会从以下答案和评论中发布最终解决方案。
//
// Creating and setting the Objects
//
User user = new User(name="john doe");
EntitySet < Address > adressList = new EntitySet<Address>();
adressList.Add(new Address("Residential Home");
adressList.Add(new Address("Holiday Home...");
user.address = adressList;
//
//Persisting to the DB
//
var db = new DataContext();
db.Results.InsertOnSubmit(result);
db.SubmitChanges();