Расширения Entity Framework 6, о которых вы могли и не знать. Многие программисты делают записи, описывают трудности, красивые и не очень решения, с которыми приходится сталкиваться по долгу службы.
Это может быть собственный технический блог, рабочая вики, или даже обычный блокнот — суть одна. Постепенно, из маленьких Evernote-заметок может вырасти целая статья на Хабр. Но время идет, перемена места работы сулит изменения в стеке разработки, да и технологии не стоят на месте (кстати, EF Core уже пару месяцев как в версии 1.1). С другой стороны, Entity Framework 6 был и остается "рабочей лошадкой" для доступа к данным в корпоративных приложениях на стеке .net, не в последнюю очередь благодаря своей стабильности, низкому порогу входа и широкой известности.
Поэтому, я надеюсь, статья всё еще окажется кому-то полезной. Entity Framework, Private Constructors and Private Setters. As I learn more and more from Domain Driven Design, my classes for DDD projects (those that are complex enough to need more than simple CRUD), are shifting from what are referred to as “anemic domain models” and more like “rich domain models”.
The term “anemic domain model” (which I still have an aversion to…the term, that is) refers to a class that doesn’t really do much at all. It has a bunch of properties and maybe some methods. To use them you instantiate or retrieve the object and then populate the properties at will. When working in DDD, the focus is on behaviors, not properties. Entity Framework Performance and What You Can Do About It - Simple Talk. Compared to writing your own SQL to access data, you can become miraculously more productive by using Entity Framework (EF).
Unfortunately, several traps that are easy to fall into have given it a reputation for performing poorly; but it doesn’t have to be this way! The performance of Entity Framework may once have been inherently poor but isn’t any more if you know where the landmines are. In this article we’ll look at where these ‘traps’ are hiding, examining how they can be spotted and what you can do about them. We’ll use examples from a simplified school management system. A LINQ extension method to calculate a running total - blog.dee4star.com. The other day I needed to calculate a running balance based on a series of either debit or credit transactions.
So each line item contains a balance column that is the carried forward balance plus the sum of debits and credits up until the current line item. After some playing around I came up with a simple LINQ expression to do the job. It is also a nice illustration of how LINQ expression trees enable you to create more elegant solutions. Lets start by create a simple object: Rollup Extension Method: Create Running Totals using LINQ to Objects - Eric White's Blog. Recently, I had need for a new extension method for IEnumerable<T>, which I call "Rollup".
This extension method is sort of a cross between the Select and Aggregate extension methods. Like Select, when using this extension method you write a lambda expression to project the new value in a new collection. Unlike Select, in the projection lambda expression, you are passed the projected value for the immediately preceding element. SQL Joins with C# LINQ. Posted By : Shailendra Chauhan, 18 Oct 2012 Updated On : 25 Nov 2013 Keywords : linq join on multiple conditions,c# join example, linq inner join with multiple conditions, linq left outer join, linq left join, linq cross join, linq right join, linq group join.
SQL Joins with C# LINQ. RiggsHill Software. There are two flavors of serialization you can use on Framework entities: good ol' XML serialization and the DataContract serialization.
XML serialization is pretty straightforward - it serializes the object it's given. But it does not walk references (I'm talking foreign keys here) or collections. whereas the DataContract serializer does handle the references and keeps track of what objects have been serialized and what hasn't. MainModule.vb. Managing BLOBs using SQL Server FileStream via EF and WCF streaming. Public Interface IDocumentService <OperationContract()> Sub SaveDocument(documentInfo As DocumentInfo) <OperationContract()> Function GetDocumentKeysByFullText(searchCondition As String) As List(Of DocumentKeys)
EF Code First Extras. Tracing and Caching for Entity Framework available on MSDN Code Gallery - Jaroslaw Kowalski. We have just released a sample that shows how to extend Entity Framework in interesting ways by plugging into ADO.NET provider interface.
The sample provides two extensions: EFTracingProvider – which adds the ability to log all SQL commands that are executed (similar to LINQ to SQL’s DataContext.LogEFCachingProvider – which adds transparent query results cache to EF The sample comes with implementation of distributed cache which uses Velocity CTP 3 as well as an adapter for ASP.NET and simple in-memory cache implementation. Because the sample is quite large and uses many advanced techniques, it’s impossible to fully explain it all in one blog post. In this first post I’ll briefly explain the idea of wrapper providers and describe the new the APIs exposed by EFTracingProvider and EFCachingProvider. Provider Wrapers Entity Framework has a public provider model which makes it possible for provider writers to support 3rd-party databases, such as Oracle, MySQL, PostreSQL, Firebird. Tip 14 - How to cache Entity Framework Reference Data - Meta-Me.
Scenario: In order to make applications perform it makes a lot of sense to cache commonly used reference data.
Good examples of reference data include things like States, Countries, Departments etc. Exposing the ORM Cache. Related Content Browse this Topic: Queue on Reddit Exposing the ORM Cache Familiarity with ORM caching issues can help prevent performance problems and bugs. In the early 1990s, when object-oriented languages emerged into the mainstream of software development, a noticeable surge in productivity occurred as developers saw new and better ways to create software programs. Complex problems sometimes demand complex solutions, and ORM software is no exception. Доступ к данным - Second-Level Caching in the Entity Framework and AppFabric. Tracing and Caching Provider Wrappers for Entity Framework in C# for Visual Studio 2010. Repository, Specification, Unit of Work, Persistence Ignorance POCO with Microsoft ADO.NET Entity Framework 4.0 Beta 2 « KITCHAIYONG.NET.
Preface As of preparing this writing and the source codes, I was using the .NET Framework 4.0 Beta 1, Visual Studio 2010 Beta 1 and ADO.NET Entity Framework Feature CTP 1. However, the .NET Framework 4.0 Beta 2 and Visual Studio 2010 Beta 2 made their debut on 21 October 2009. .NET Junkie - Faking your LINQ provider part 1. Friday, someone at Stackoverflow asked how to hide LINQ enabled persistence frameworks behind an abstraction (the repository pattern). I pointed him to a question on Stackoverflow that I answered a few days earlier in what I explained how to allow your LINQ to SQL project to be unit testable. Friday’s question however, was about being able to easily change the O/RM later on, and specifically with multiple data stores / databases involved. Let me start by saying that due to the current difference in behavior and quality between both open source and commercial LINQ provider implementations, it is hard to completely abstract away such implementation, while still allowing to use LINQ to Expression queries that are effectively translated to database queries.
For the project I'm currently working on, I use LINQ to SQL as O/RM tool and I was faced with the problem of unit testing. Asp.net mvc 3 - MVC, EF - DataContext singleton instance Per-Web-Request in Unity. Generic Repository Pattern - Entity Framework, ASP.NET MVC and Unit Testing Triangle. IMPORTANT NOTE: I have a new blog post about Generic Repository implementation for Entity Framework. Please check it out instead of this one: Clean, Better, and Sexier Generic Repository Implementation for Entity Framework NOTE:Entity Framework DbContext Generic Repository Implementation Is Now On Nuget and GitHub: DRY: Don’t repeat yourself which is a principle of software development aimed at reducing repetition of information of all kinds, especially useful in multi-tier architectures.
О разработке ПО и эффективности: Code First Migrations + Entity Framework 4.3 Beta 1. Mapping private/protected/… properties in Entity Framework 4.x Code First Mapping private/protected/... properties in Entity Framework 4.x Code First More than a year ago I was blogging about how to map private/protected/... properties in Code First CTP4 for the time being. Well it a long time and a lot of changed. Advanced Data - Programming ASP.NET MVC 4 Web Applications. Testability and Entity Framework 4.0. Scott Allen Published: May 2010 Introduction This white paper describes and demonstrates how to write testable code with the ADO.NET Entity Framework 4.0 and Visual Studio 2010. This paper does not try to focus on a specific testing methodology, like test-driven design (TDD) or behavior-driven design (BDD).
Instead this paper will focus on how to write code that uses the ADO.NET Entity Framework yet remains easy to isolate and test in an automated fashion. What Is Testable Code? The ability to verify a piece of software using automated unit tests offers many desirable benefits. A good unit test suite allows a development team to save time and remain in control of the software they create. Unit testing comes with a price, however. Mvc & jQuery CMS - The Repository Pattern with EF code first & Dependeny Injection in ASP.NET MVC3. Introduction. Entity Framework POCO (EF4): Generic Repository and Unit of Work Prototype.
POCO in the Entity Framework : Part 3 – Change Tracking with POCO - ADO.NET team blog. The information in this post is out of date. Implementing the Repository and Unit of Work Patterns in an ASP.NET MVC Application (9 of 10) ObjectContext Undo, Cancel? Developing web apps using ASP.NET MVC 3, Razor and EF Code First - Part 1 - Shiju Varghese's Blog. EF Feature CTP5: Pluggable Conventions - ADO.NET team blog.