【发布时间】:2021-09-03 07:21:04
【问题描述】:
我有用户和客户表。 User 表有一个 Username 的 PK 并且是 Customer 表中的一个 FK。 我想将客户和用户输入详细信息添加到数据库中,其中用户的用户名(主键)是客户表中的外键
不知道为什么客户表中的用户名(FK)为空
用户:
public class User
{
[Key]
public string Username { get; set; }
public string Password { get; set; }
}
客户:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public User User { get; set; }
}
DBContext:
class StoreContext : DbContext
{
readonly string connectionString = @"Data source=...;Integrated security=true;Initial Catalog=dbPizzaOrderingV1";
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(connectionString);
}
public DbSet<User> Users { get; set; }
public DbSet<Customer> Customers { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
}
}
管理客户:
class ManageCustomer
{
StoreContext context;
public ManageCustomer()
{
context = new StoreContext();
}
public bool AddUser(User user)
{
context.Users.Add(user);
context.SaveChanges();
return true;
}
public bool AddCustomer(Customer customer)
{
context.Customers.Add(customer);
context.SaveChanges();
return true;
}
计划:
public void CreateAccount()
{
Customer customer = new Customer();
User user = new User();
Console.WriteLine("Create Account");
Console.WriteLine("Enter Your Name: ");
customer.Name = Console.ReadLine();
Console.WriteLine("Enter Username: ");
user.Username = Console.ReadLine();
Console.WriteLine("Enter Password: ");
user.Password = Console.ReadLine();
manageCustomer.AddUser(user);
manageCustomer.AddCustomer(customer);
Console.WriteLine("Created Account Successfully!");
}
用户详细信息和客户详细信息已成功添加到表中,但客户表中的用户名(FK)为空。 我该如何解决?
【问题讨论】:
标签: c# sql entity-framework-core