2016-05-19 10 views
0

私はC#WPFとSQL Serverのプロジェクトに取り組んでいます。私はデータベースを作ってLinqをSQLに使用しました。今、私は、次の表を得た:patientsSQL Serverの外部キーIDとエンティティのプロパティ

Patients 
------- 
ID     int PK 
name    varchar 
insurancecompany int FK 

Insurancecompanies 
------- 
ID     int PK 
name    varchar 

insurancecompanyが、それは時間がかかりすぎるので、私は私の質問のために不要な列の多くを残しinsurancecompanies

idにFKです。そこで私はLinq to SQLデータベースモデルにデータベーステーブルを追加しました。私はpatientクラスへのインスタンスを作成しました。それを見て、私は2つのプロパティを参照してください。 1つはinsurancecompanyであり、これはintです。もう1つはinsurancecompany1で、insurancecompanyタイプです。

intを非公開にするのは安全ですか、それとも削除してもよろしいですか?それともそれを作る方法はあるのですか?

+0

あなたは非公開にすることができます。それが関連の一部であるため、削除することはできません。非公開にする場合は、常に 'Insurancecompany'オブジェクトを設定する必要があります。 Idだけを設定するほうがはるかに簡単です。 –

答えて

0

データベースモデルでは、Insurancecompaniesとの外部キー関係があり、それを割り当てた値を見て、その保険会社を見つけて、それを「insurancecompany1」という追加のプロパティとして追加します。 (それはそれを "保険会社"と呼んでいたが、すでにその名前の財産があるのでできなかった)。

これは素晴らしい機能です。なぜなら、結合を使用することなく、特定の患者の保険会社を見ることが容易になるからです。

var dave = patient(); 
//assign a patient from your database to "dave" here.. 
var nameOfDavesInsuranceCompany = dave.insurancecompany1.name; 

モデルはもはや見にどの保険会社うまくできなくなるので、あなたは、この機能を失うことになるのint insurancecompanyを削除した場合

。あなたはプライベートにすることができますが、単純にint値を与えることで保険会社を患者に割り当てる能力が失われます(保険会社オブジェクトをinsurancecompany1に設定する必要があります)。

名前が気に入らない場合は、insurancecompanyの名前をinsurancCompanyIdのように変更してから、insurancecompany1 insuranceCompanyを呼び出すことができます。

関連する問題