繁体   English   中英

关于 LINQ 到 SQL 的简单问题

[英]Simple question about LINQ to SQL

我无法理解一件事。 假设我已经有这些编码实体:

[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); }
    }
}
  • 我应该有一个物理数据库来连接相同的表定义(在我的应用程序中使用数据上下文)吗?
  • 假设我已经创建了一个数据库。 它应该包含相同的表定义还是LINQ to SQL创建它们?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM