c# - 关于LINQ to SQL的简单问题

标签 c# database linq-to-sql database-connection

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

[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 创建它们?

最佳答案

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

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

关于c# - 关于LINQ to SQL的简单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6159979/

相关文章:

c# - 永久设置下拉列表的值

mysql - 如何在ERD模型中为产品创建类别?

java - 数据库架构/数组即列/各种大小

c# - LINQ-to-SQL 查询何时执行?

c# - WPF:SizeToContent ="WidthAndHeight"+ WindowState ="Minimized"错误

c# - OpenFileDialog 不显示

database - 同步两个异构数据库

c# - LINQ 到 SQL : Why can't I have a Zero to Many Cardinality

.net - LINQ to SQL 并发冲突 - 看起来像是带有正确行版本控制的干净附加

c# - 如何在 Xamarin.Forms ListView 中创建 Accordion