我正在創建一種新方法來完成項目中的事情,並且我需要一些幫助。 我在我的解決方案中有3個項目:Circle reference(提供者 - >模型 - >提供者)
Buusiness,Provider and Model。
樣板工程,是一個,我有課就像在數據庫中的表: 例:
public class Person
property Id as integert?
property Name as string
property CPF as string
end class
移動電話運營商的項目,是一個使與數據庫通信:
public class PersonProvider
public function ListPerson(filter as model.person) as list(of model.person)
public sub insertPerson(byRef person as model.peson)
public sub updatePerson(byRef person as model.peson)
public sub deletePerson(byRef person as model.peson)
end class
最後,我有BUSINESS項目,這是向網站公開CRUD方法的項目(該網站不能訪問PROVIDER,因爲我們在業務中有商業邏輯)
public class PersonBusiness
public function ListPerson(filter as model.person) as list(of model.person)
return (new provider.PersonProvider).listPerson(filter)
end public
public sub InsertPerson(byRef person as model.person)
dim provider as new provider.PersonProvider()
provider.insertPerson(person)
end public
...
end class
但是,我已經來到了一個問題,當我需要一些內連接是這樣的:
Customer表有一個id_person,所以在model.Customer我有一個屬性IdPerson爲整數?
,但我希望有屬性名稱和CPF的model.Person已經在model.Customer只讀屬性,所以我做了:
Property IdPerson As Integer?
Private _person As Pessoa
Private ReadOnly Property Person As model.Person
Get
If IsNothing(_person) Then
_person = New provider.PersonProvider.ListPerson(new model.Person with {.Id = Me.IdPerson})
End If
Return _person
End Get
End Property
ReadOnly Property Name As String
Get
Return Me.Person.Name
End Get
End Property
ReadOnly Property CPF As String
Get
Return Me.Pessoa.CPF
End Get
End Property
和來這裏的問題..我發現,我不能有像參考:
網站參考模型和業務
提供參考模型
業務參考模型和箴言伊德爾
但要做到只讀屬性的模型需要參考提供商,並導致了一圈reference..visual Studio不允許我這樣做......
任何想法如何做到這一點?
對不起,我的帖子變得這麼長,我只是想弄清楚。
嗯抱歉,但我不明白.. 如何我填充一個Person對象在網站上傳遞給業務,如果我沒有參考模型? –
新類將用於填充Person實例,並且可以將新類的實例(以及Person實例)傳遞給Business。 – xpda