• 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 58630 mal Letzte Änderung am %PM, %24. %643 %2015 %14:%Jun

456 Kommentare

  • Kommentar-Link peretyazhka thmt %AM, %01. %489 %2024 %10:%Nov gepostet von peretyazhka thmt

    Советы по выбору материала для обивки мебели, чтобы избежать ошибок
    перетяжка мягкой мебели перетяжка мягкой мебели .

    Лучшие ткани для перетяжки мягкой мебели|Ваш идеальный выбор ткани для перетяжки мебели|Советы по перетяжке мягкой мебели для начинающих|Мастер-класс по перетяжке мягкой мебели|Советы по выбору материала для обивки дивана|Сколько стоит перетяжка мягкой мебели: цены и услуги|Выбор профессионала для перетяжки мягкой мебели: что учесть|Идеи для перетяжки старой мебели: дайте вторую жизнь|Необычные способы перетяжки мягкой мебели: советы дизайнеров|Перетяжка мебели: новая жизнь для старых предметов|Перетяжка кресел и стульев: как сделать качественно|Советы для тех, кто хочет сделать перетяжку мебели своими руками|Идеи для обновления интерьера с помощью перетяжки мебели|Как выбрать цвет ткани для перетяжки мягкой мебели|Преимущества перетяжки мебели своими руками|Идеи для перетяжки мебели в современном стиле|Что может пойти не так при самостоятельной перетяжке мягкой мебели|Идеи для узоров при обивке мебели: советы по выбору|Как перетянуть мебель: подробная инструкция и советы

  • Kommentar-Link вывоз старой мебели на свалку %AM, %30. %358 %2024 %07:%Okt gepostet von вывоз старой мебели на свалку

    Мы занимаемся вывозом мусора газелями разной модификации от стандартных 6 м3 до больших 14 м3 есть также грузчики, работаем по Московской области. Преимущества вывоза мусора газелью в том, что она самая дешёвая услуга вывоза мусора.
    Подробный гид по вывозу мусора газелью, не требующий лишних усилий.
    Почему газель идеально подходит для вывоза мусора, которые важно знать.
    Основные типы мусора, которые можно вывозить газелью, и какие ограничения существуют.
    Минимальные стоимость услуги по вывозу мусора газелью, и сохранить качество проведенных работ.
    Секрет успешного вывоза мусора газелью, понимая особенности процесса.
    вывоз строительного мусора газелью вывоз мусора газелью .

  • Kommentar-Link вывоз старой мебели на свалку %AM, %29. %467 %2024 %10:%Okt gepostet von вывоз старой мебели на свалку

    Мы занимаемся вывозом мусора газелями разной модификации от стандартных 6 м3 до больших 14 м3 есть также грузчики, работаем по Московской области. Преимущества вывоза мусора газелью в том, что она самая дешёвая услуга вывоза мусора.
    Подробный гид по вывозу мусора газелью, не требующий лишних усилий.
    Почему газель идеально подходит для вывоза мусора, которые должен знать каждый.
    Какие материалы можно вывозить газелью, с учетом размеров и веса.
    Как сэкономить на вывозе мусора газелью, сотрудничая с профессионалами.
    Основные правила безопасной перевозки мусора газелью, учитывая все нюансы.
    вывоз старой мебели на свалку вывоз строительного мусора газелью .

  • Kommentar-Link Sahabet_nbPt %PM, %25. %840 %2024 %19:%Okt gepostet von Sahabet_nbPt

    Sahabet ile zengin olman?n s?rr? burada - Sahabet

    Sahabet Casino Sahabet .

  • Kommentar-Link Алкоклуб %PM, %25. %605 %2024 %13:%Okt gepostet von Алкоклуб

    Алкоклуб и Alcoclub предлагают удобный сервис для заказа напитков на дом. Позвоните по номеру +74951086757, чтобы заказать алкоголь в Москве в любое время суток. Этот сервис позволяет легко и просто получить нужные напитки, делая процесс удобным и доступным.

    Если вам требуется круглосуточный заказ, Алкоклуб — идеальное решение. Связавшись с Alcoclub по номеру +74951086757, вы сможете легко заказать алкоголь на дом. Сервис предлагает разнообразие алкогольной продукции, что делает процесс быстрым и простым.

    С Алкоклуб вы всегда можете рассчитывать на оперативную доставку. Оформите заказ через +74951086757, чтобы воспользоваться доставкой алкоголя круглосуточно. Платформа Alcoclub обеспечивает высокий уровень сервиса, чтобы каждый клиент мог наслаждаться удобством заказа.

  • Kommentar-Link  микро займ %PM, %24. %867 %2024 %19:%Okt gepostet von микро займ

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


    микрокредит казахстан [url=https://microloans.kz/]микрозайм онлайн[/url] .

  • Kommentar-Link  микро займ %AM, %24. %066 %2024 %00:%Okt gepostet von микро займ

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


    займы онлайн займ онлайн Казахстан .

  • Kommentar-Link  микрокредит %PM, %23. %894 %2024 %20:%Okt gepostet von микрокредит

    Благодаря нашему многолетнему опыту работы в сфере микрофинансирования, мы знаем, какие решения лучше всего подходят для различных жизненных ситуаций. Мы предлагаем широкий выбор кредитных продуктов, которые удовлетворяют самые разные потребности наших клиентов, от краткосрочных займов до долгосрочного финансирования с гибкими условиями возврата.


    займы онлайн займ Казахстан .

  • Kommentar-Link Алкопланет %PM, %22. %595 %2024 %13:%Okt gepostet von Алкопланет

    Алкопланет и alcoplanet предлагают удобную и быструю доставку алкоголя. Позвонив по номеру +74993850909, вы сможете получить любимые напитки быстро и без проблем. Доставка доступна по всей Москве, что делает сервис удобным и доступным для всех.

    Если вам нужна круглосуточная доставка, Алкопланет — это надежный партнер. Связавшись по +74993850909, вы сможете получить напитки в любое удобное время. Благодаря alcoplanet, вы можете наслаждаться качественным сервисом.

    Алкопланет предлагает разнообразие алкогольных напитков с доставкой. С помощью +74993850909 можно быстро оформить заказ и получить его прямо к двери. Услуга alcoplanet гарантирует комфорт и удобство клиентов, что делает процесс комфортным для каждого клиента.

  • Kommentar-Link Алкошоп %PM, %21. %724 %2024 %16:%Okt gepostet von Алкошоп

    Алкошоп и Alcoshop — это идеальный выбор для тех, кто хочет заказать алкоголь в Москве. Доставка доступна 24 часа в сутки, что позволяет наслаждаться напитками в удобное время. Позвонив по номеру +74993433939, вы получите нужный товар максимально оперативно.

    Круглосуточная доставка через Алкошоп позволяет получить желаемый напиток в кратчайшие сроки. Вы можете позвонить на +74993433939 или оформить заказ онлайн, что делает процесс максимально удобным. Сервис гарантирует оперативное получение заказа.

    Для заказа алкоголя в Москве круглосуточно на дом достаточно связаться с Алкошоп. В Alcoshop доступен большой выбор алкоголя, что позволит найти нужный товар для любого случая. Доставка осуществляется с заботой о качестве и безопасности, делая каждый заказ без лишних ожиданий.

Schreibe einen Kommentar

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