• Webseitenerstellung und -hosting
  • .NET Anwendungsentwicklung
  • softwaregesteuerte Prozessoptimierung
  • .NET

    Programmierung

  • WebseitenErstellung

    undHosting

  • softwaregesteuerte

    Prozessoptimierung

  • Konzeption

    und Beratung

%AM, %05. %504 %2013 %11:%Jul

Entitäten klonen und vergleichen mit dem Entity Framework 4

geschrieben von
Artikel bewerten
(0 Stimmen)
Da solche Funktionen erst mit EF5 bzw. .NET 4.5 halbwegs vernünftig zur Verfügung stehen ("AsNoTracking") hier eine Möglichkeit um Entitäten zu klonen (als Extension :-))

;
Public Function Clone(Of t As EntityObject)(entity As t, ctx As oraEntities, Optional copyKeys As Boolean = True) As t
Try
Dim cloneE As t = ctx.CreateObject(Of t)()
Dim pis As PropertyInfo() = entity.GetType.GetProperties()

For Each pi As PropertyInfo In pis
Dim attrs As EdmScalarPropertyAttribute() = DirectCast(pi.GetCustomAttributes(GetType(EdmScalarPropertyAttribute), False), EdmScalarPropertyAttribute())

For Each attr As EdmScalarPropertyAttribute In attrs
If Not copyKeys AndAlso attr.EntityKeyProperty Then
Continue For
End If
'Strung und NULL abfangen, wird trotz Standardwert im SQL Server nicht imgesetzt
Dim objVal As Object
If pi.PropertyType = GetType(String) And pi.GetValue(entity, Nothing) Is Nothing Then
objVal = ""
Else
objVal = pi.GetValue(entity, Nothing)
End If
pi.SetValue(cloneE, objVal, Nothing)
Next
Next
Return cloneE
Catch ex As Exception
Throw ex
End Try
End Function


und zu vergleichen


;
Public Function Compare(Of t As EntityObject)(entityOriginal As t, entityCopy As t) As Boolean
Try
'Um Änderungen einer Entität festzustellen (t.equals funktioniert aufgrund der Abhängigkeiten mit anderen Tabellen nicht)
Dim pisOrig As PropertyInfo() = entityOriginal.GetType.GetProperties()

For Each piOrig As PropertyInfo In pisOrig
Dim attrs As EdmScalarPropertyAttribute() = DirectCast(piOrig.GetCustomAttributes(GetType(EdmScalarPropertyAttribute), False), EdmScalarPropertyAttribute())
If attrs.Count > 0 Then 'Fremdschlüsseltabellen ausschliessen
Dim objOrig As Object = If(GetType(t).GetProperty(piOrig.Name).GetValue(entityOriginal, Nothing) Is Nothing, "", GetType(t).GetProperty(piOrig.Name).GetValue(entityOriginal, Nothing))
Dim objCopy As Object = If(GetType(t).GetProperty(piOrig.Name).GetValue(entityCopy, Nothing) Is Nothing, "", GetType(t).GetProperty(piOrig.Name).GetValue(entityCopy, Nothing))
If Not objOrig.Equals(objCopy) Then
Return False
End If
End If
Next

Return True
Catch ex As Exception
Throw ex
End Try
End Function


Verknüfte Tabellen werden dabei allerdings nicht übernommen!		
Gelesen 38432 mal Letzte Änderung am %PM, %24. %643 %2015 %14:%Jun

191 Kommentare

  • Kommentar-Link prodazha_lgKn %AM, %01. %398 %2024 %08:%Mär gepostet von prodazha_lgKn

    Кондиционеры со скидкой
    установка климатического оборудования http://www.prodazha-kondicionera.ru .

  • Kommentar-Link www.gruppa-diploms-srednee.com %PM, %29. %960 %2024 %22:%Feb gepostet von www.gruppa-diploms-srednee.com

    В столице России приобрести диплом – это удобный и быстрый метод достать нужный бумага лишенный дополнительных трудностей. Разнообразие фирм продают помощь по изготовлению и торговле свидетельств различных учебных заведений - gruppa-diploms-srednee.com. Выбор дипломов в городе Москве большой, включая документы о высшем уровне и среднем ступени образовании, аттестаты, дипломы техникумов и академий. Основной достоинство – способность получить аттестат официальный документ, подтверждающий подлинность и высокое стандарт. Это обеспечивает специальная защита от подделок и позволяет применять аттестат для разнообразных нужд. Таким путем, заказ свидетельства в городе Москве является важным надежным и экономичным вариантом для таких, кто желает достичь процветанию в сфере работы.

  • Kommentar-Link gruppa-diploms-srednee.com %PM, %29. %778 %2024 %17:%Feb gepostet von gruppa-diploms-srednee.com

    [URL=https://gruppa-diploms-srednee.com/][URL=https://gruppa-diploms-srednee.com/]Купить срочно диплом о среднем образовании[/URL] - это возможность оперативно достать бумагу об учебе на бакалаврской уровне без лишних забот и затрат времени. В городе Москве имеются разные вариантов подлинных свидетельств бакалавров, обеспечивающих комфорт и легкость в процессе..

  • Kommentar-Link gruppa-diploms-srednee.com %PM, %29. %615 %2024 %13:%Feb gepostet von gruppa-diploms-srednee.com

    Купить срочно диплом о среднем образовании - это вариант оперативно завершить документ об учебе на бакалаврском уровне лишенный лишних забот и расходов времени. В столице России предоставляется множество альтернатив оригинальных дипломов бакалавров, обеспечивающих комфортность и легкость в процессе..

  • Kommentar-Link prema-diploms-srednee.com %PM, %28. %943 %2024 %21:%Feb gepostet von prema-diploms-srednee.com

    Внутри столице России приобрести диплом – это практичный и оперативный вариант достать нужный документ лишенный дополнительных трудностей. Множество компаний продают сервисы по производству и продаже дипломов разных образовательных учреждений - https://www.prema-diploms-srednee.com/. Выбор дипломов в Москве большой, включая бумаги о академическом и среднем образовании, свидетельства, свидетельства колледжей и университетов. Главное плюс – способность приобрести свидетельство подлинный документ, обеспечивающий достоверность и высокое качество. Это предоставляет особая защита ото подделки и предоставляет возможность воспользоваться диплом для разнообразных нужд. Таким путем, покупка аттестата в Москве становится безопасным и оптимальным вариантом для данных, кто стремится к успеха в трудовой деятельности.

  • Kommentar-Link prodvizhen_fhEn %PM, %28. %757 %2024 %17:%Feb gepostet von prodvizhen_fhEn

    Какие соцсети выбрать для продвижения строительной компании?
    продвижение строительных сайтов https://seo-prodvizhenie-sajtov-stroitelnyh-kompanij.ru/ .

  • Kommentar-Link prema-diploms-srednee.com %PM, %28. %753 %2024 %17:%Feb gepostet von prema-diploms-srednee.com

    В Москве купить свидетельство – это комфортный и быстрый метод завершить нужный бумага без дополнительных трудностей. Большое количество организаций предоставляют сервисы по изготовлению и торговле свидетельств разнообразных образовательных учреждений - prema-diploms-srednee.com. Ассортимент дипломов в городе Москве огромен, включая бумаги о высшем уровне и среднем ступени профессиональной подготовке, аттестаты, свидетельства колледжей и университетов. Основной преимущество – возможность получить диплом подлинный документ, обеспечивающий подлинность и высокое стандарт. Это предоставляет специальная защита против фальсификаций и предоставляет возможность воспользоваться свидетельство для различных целей. Таким образом, приобретение аттестата в городе Москве является надежным и экономичным решением для тех, кто хочет достичь успеха в карьере.

  • Kommentar-Link prodvizhen_bxEn %PM, %28. %685 %2024 %15:%Feb gepostet von prodvizhen_bxEn

    Почему SEO важен для строительных компаний?
    продвижение строительных компаний https://seo-prodvizhenie-sajtov-stroitelnyh-kompanij.ru/ .

  • Kommentar-Link prodvizhen_enEn %PM, %28. %658 %2024 %14:%Feb gepostet von prodvizhen_enEn

    Основные ошибки в продвижении строительных услуг
    seo строительного сайта https://seo-prodvizhenie-sajtov-stroitelnyh-kompanij.ru/ .

  • Kommentar-Link prodvizhen_ftEn %PM, %28. %632 %2024 %14:%Feb gepostet von prodvizhen_ftEn

    Чем могут помочь партнерские программы в продвижении строительного бизнеса?
    продвижение строительных услуг [url=https://seo-prodvizhenie-sajtov-stroitelnyh-kompanij.ru/]https://seo-prodvizhenie-sajtov-stroitelnyh-kompanij.ru/[/url] .

Schreibe einen Kommentar

Bitte achten Sie darauf, alle Felder mit Stern * zu füllen. HTML-Code ist nicht erlaubt.