我无法理解一件事。假设我已经有了这些编码实体:
[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/