关于LINQ to SQL的简单问题

本文关键字:简单 问题 SQL LINQ to 关于 | 更新日期: 2023-09-27 17:57:47

我一件事都听不懂。假设我已经有了这些编码实体:

[Table(Name = "Rates")]
public class Rate
{
    private EntityRef<Product> _Product;
    [Column(IsPrimaryKey = true)]
    public String RateID 
    { get; set; }
    [Column]
    public String ProductID 
    { get; set; }
    [Column]
    public Double VolumeInTons 
    { get; set; }
    [Column]
    public Decimal Volume 
    { get; set; }
    [Column]
    public Decimal Cost 
    { get; set; }
    [Column]
    public UInt32 Year 
    { get; set; }
    [Association(Storage = "_Product", OtherKey = "ProductID")]
    public Product Product
    {
        get { return this._Product.Entity; }
        set { this._Product.Entity = value; }
    }
} 

[Table(Name="Products")]
public class Product
{
    private EntitySet<Rate> _Rates;
    [Column(IsPrimaryKey= true)]
    public String ProductID
    { get; set; }
    [Column]
    public String Name
    { get; set; }
    [Column]
    public String Category
    { get; set; }
    [Association(Storage="_Rates", OtherKey="ProductID")]
    public EntitySet<Rate> Rates
    {
        get { return this._Rates; }
        set { this._Rates.Assign(value); }
    }
}
  • 我是否应该使用相同的表定义(在我的应用程序中使用datacontext)连接一个物理数据库
  • 假设我已经创建了一个数据库。它应该包含相同的表定义还是由LINQ to SQL创建的

关于LINQ to SQL的简单问题

如果您已经有一个数据库,您可以从Visual Studio连接到它,并将表拖放到DataContext的设计模式中。Visual Studio将为您生成相应的类。

或者,您可能想要的答案是,您已经有了生成的类(例如:来自具有数据库的不同系统),并且您希望根据类定义创建数据库。然后,在代码的早期,您应该调用一次DataContext.CreateDatabase(Reniuz也指出了这一点),数据库就会被创建。请注意,在下次运行时,您不需要再次创建数据库。