Tôi có một mô hình đối tượng đơn giản như sau ...Entity Framework tạo gạch chân cột khi tạo cơ sở dữ liệu
public class Product
{
public long ProductId { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
và
public class Category
{
public long CategoryId { get; set; }
public List<Product> Products { get; set; }
}
Tạo cơ sở dữ liệu cơ bản với kết quả EntityFramework trong lược đồ sau .. .
Sản phẩm
- ProductID
- CategoryID
- Category_CategoryId
Categories
- CategoryID
Trong Sản phẩm bảng, cột Danh mụcId luôn được đặt thành 0 trong khi cột Danh mục_CategoryId chứa id của danh mục sản phẩm thuộc về.
Làm thế nào để làm cho id danh mục được thiết lập trong CategoryID cột và ngăn chặn sự Category_CategoryId cột từ được tạo ra?
lớn mắt! Vấn đề thực sự là Category.CategoryId là một Product.CategoryId trong một thời gian dài là một int. Khi tôi đã sửa kiểu này thành CategoryId là một trường hợp dài trong cả hai trường hợp, việc tạo lược đồ đã hoạt động như mong đợi. Thuộc tính ForeignKey là không cần thiết. –