我在表中使用long作为主键。对于每个具有DataObject.Select(长主键)的表,我都有一个数据对象。
如果我可以输入那么长的时间,这样我就不会将table1的PK传递到table2的Select()中,那就太好了。这样可以消除传递错误外键的常见错误。
除了在课程中包装长篇论文,我猜没有其他办法,但我认为问这个问题不会有任何伤害。有没有一种方法可以在运行时仍然传递很长(原始类型)但在编译时会标记不匹配的地方呢?
public class Subscription {
public long SubscriptionId { get; }
public long OrganizationId { get; }
public static Subscription Select (long subscriptionId) {}
}
public class Organization {
public long OrganizationId { get; }
public static Organization Select (long organizationId) {}
}
在上面,任何长度都可以传入。但是,如果我打电话给我:
Organization org = Organization.Select(subscription.SubscriptionId);
编译并运行的。但这是错误的。我宁愿收到编译错误,因为正确的调用是:
Organization org = Organization.Select(subscription.OrganizationId)
答案 0 :(得分:3)
我建议您创建两个结构,每个结构都有一个public long
字段,然后应该定义方法以将这两个不同的结构用作参数。然后,如果您错了,编译器会告诉您。