ROSTAM2
یک شنبه 04 شهریور 1403, 08:46 صبح
در این تابع EntityType از جدول هایی که فیلد ID دارند می تونن برای فیلتر Entry طبق ID استفاده بشن....
Friend Function GetEntry(Of T)(ID As Guid) As T
Dim QueryString As String = String.Format("SELECT VALUE {0} FROM {0} WHERE {0}.ID = @ID", GetType(T).Name)
Dim Entry As T
Entry = My.KeyStoreData.CreateQuery(Of T) _
(QueryString, New Objects.ObjectParameter("ID", ID)).FirstOrDefault
Return Entry
End Function
نمونه بکارگیری تابع:
Dim Entry As Object = Nothing
Select Case SelectedMenuItem
Case InternetbankMenuItem
Entry = GetEntry(Of InternetBank)(ID)
Case BlogPostMenuItem
Entry = GetEntry(Of BlogPost)(ID)
Case CertificateMenuItem
Entry = GetEntry(Of Certificate)(ID)
Case CreditCardMenuItem
Entry = GetEntry(Of CreditCard)(ID)
Case DatabaseMenuItem
Entry = GetEntry(Of Database)(ID)
Case LegalCaseMenuItem
Entry = GetEntry(Of LegalCase)(ID)
Case SanaMenuItem
Entry = GetEntry(Of SANA)(ID)
Case softwareMenuItem
Entry = GetEntry(Of Software)(ID)
Case UploadedFileMenuItem
Entry = GetEntry(Of UploadedFile)(ID)
Case websiteMenuItem
Entry = GetEntry(Of Websites)(ID)
End Select
My.KeyStoreData.DeleteObject(Entry)
My.KeyStoreData.SaveChanges()
Friend Function GetEntry(Of T)(ID As Guid) As T
Dim QueryString As String = String.Format("SELECT VALUE {0} FROM {0} WHERE {0}.ID = @ID", GetType(T).Name)
Dim Entry As T
Entry = My.KeyStoreData.CreateQuery(Of T) _
(QueryString, New Objects.ObjectParameter("ID", ID)).FirstOrDefault
Return Entry
End Function
نمونه بکارگیری تابع:
Dim Entry As Object = Nothing
Select Case SelectedMenuItem
Case InternetbankMenuItem
Entry = GetEntry(Of InternetBank)(ID)
Case BlogPostMenuItem
Entry = GetEntry(Of BlogPost)(ID)
Case CertificateMenuItem
Entry = GetEntry(Of Certificate)(ID)
Case CreditCardMenuItem
Entry = GetEntry(Of CreditCard)(ID)
Case DatabaseMenuItem
Entry = GetEntry(Of Database)(ID)
Case LegalCaseMenuItem
Entry = GetEntry(Of LegalCase)(ID)
Case SanaMenuItem
Entry = GetEntry(Of SANA)(ID)
Case softwareMenuItem
Entry = GetEntry(Of Software)(ID)
Case UploadedFileMenuItem
Entry = GetEntry(Of UploadedFile)(ID)
Case websiteMenuItem
Entry = GetEntry(Of Websites)(ID)
End Select
My.KeyStoreData.DeleteObject(Entry)
My.KeyStoreData.SaveChanges()