在.net中一次访问两个表

时间:2018-11-19 19:43:20

标签: c# sql asp.net web-services

SELECT TOP 1000 
    [ID]
    ,[Name]
    ,[Phone]
    ,[Email]
    ,[AID]
    ,[Password]
    ,[Date/time]
    ,[IsVerify]
    ,[ProfilePicture]
FROM 
    [ChefODine].[dbo].[User]

这是我的用户表AID是地址表的外键,具有以下字段。

SELECT TOP 1000 
    [ID]
    ,[Location]
    ,[LAT]
    ,[Lng]
FROM 
    [ChefODine].[dbo].[Address]

我想通过Web服务在数据库中添加用户地址和其他信息。我希望每当用户添加他的信息时,该地址将保存在地址表中,而AID将保存在用户表中。这是我的代码,请指导我,我是新手。

[HttpPost]
public User Register([FromBody]User user)
{
    if (db.Users.Any(x => x.Email == user.Email))
        throw new Exception("Username \"" + user.Email + "\" is already taken");

    db.Users.Add(user);
    db.SaveChanges();

    return user;
}

1 个答案:

答案 0 :(得分:0)

输入SaveChanges之类的值之前,您必须先指定值:

[HttpPost]
public User Register([FromBody]User user)
{
    if (db.Users.Any(x => x.Email == user.Email))
        throw new Exception("Username \"" + user.Email + "\" is already taken");
    user.Email  = "this is the Email from anywhere";
    user.AID = "This is your Aid Value";
    db.Users.Add(user);
    db.SaveChanges();

     //If you want to save Address
   AddressEntity adr = new AddressEntity()
    adr.address = "This is your new address";
    db.Address.Add(adr);
    db.SaveChanges();


    return user;
}