对于学校我正在使用C#WPF和SQL Server进行项目。我创建了数据库并使用Linq to SQL。现在我得到了以下表格:
Patients
-------
ID int PK
name varchar
insurancecompany int FK
Insurancecompanies
-------
ID int PK
name varchar
insurancecompany
中的{p> patients
是id
中insurancecompanies
的FK
我遗漏了很多不必要的专栏,因为这需要太长时间。所以我将数据库表添加到我的Linq to SQL数据库模型中。我为patient
类创建了一个实例。看着它,我看到2个属性。一个是insurancecompany
,即int
。另一个是insurancecompany1
,这是insurancecompany
类型。
将int
设为私有或将其删除是否安全?或者有没有办法让它只有一个属性?
答案 0 :(得分:0)
正在发生的事情是,数据库模型看到您与保险公司有外键关系,它会查看您已分配给它的值,然后找到该公司并将其添加为其调用的附加属性&# 34; insurancecompany1" (它本来会叫它"保险公司"但不能,因为你已经拥有一个具有该名称的财产。)
这是一个很好的功能,因为它可以轻松查看保险公司的特定患者,而无需使用连接;
var dave = patient();
//assign a patient from your database to "dave" here..
var nameOfDavesInsuranceCompany = dave.insurancecompany1.name;
如果您删除了int保险公司,您将失去此功能,因为该模型将无法确定要查看哪家保险公司。您可以将其设为私有,但您可以通过简单地给出一个int值来放弃向患者分配保险公司的能力(您将始终必须将insurancecompany对象设置为insurancecompany1)。
如果您不喜欢这些名称,可以将保险公司重命名为insurancCompanyId,然后致电保险公司1保险公司。