我应该在没有唯一字段的类中定义什么键,以便EF 6可以使用它?

时间:2014-02-19 04:35:59

标签: c# entity-framework sql-server-2008

我知道这个问题格式不正确,但我最终会纠正它。会发生的是有一个类,其中没有一个字段是唯一的。但是,在数据库中创建表之前,EF 6需要在类中定义键字段。那么,这里的最佳做法是什么?仅为此目的创建一个关键字段,还是有其他解决方案?我知道系统创建了一个唯一的“ID”列,但我不知道是否可以在课堂上使用它。只是为了澄清,问题不在于如何创建密钥 显而易见的解决方案是创建IDNo身份密钥之类的东西。我只需要确认这是正确的做法。

public class PaymentRcvd
{
   AcctNo int {get; set;}
   OrderNo int {get; set;}
   Amount decimal {get; set;}
   Type string {get; set;}
   DateRcvd DateTime {get; set;}
   DateEntered DateTime {get; set;}
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么此对象代表不同的付款方式。我建议引入一个PaymentId来使这种类型的每个对象都可以区分。无论你是否需要用于技术目的的钥匙,我都会考虑这个好的设计。

您也可以引入一个复合键,但由于同一订单可能有多笔相同金额的付款,我不知道哪些字段可以合成。当然,您可以包含日期,但即使对于多个条目也可以相同。