Ana içeriğe atla

Entity Framework


Entity Framework ORM araçlarından biridir. ORM’nin açılımı Object Relational Mapping’ dir .ORM (Object Relational Mapping)  veritabanı ile nesneye yönelik programlama (OOP) arasındaki ilişkiyi kuran teknolojidir. Yani Entity Framework, nesne tabanlı programlamada veritabanındaki tablolara uygun nesneler oluşturma tekniğidir. Bu araçlar, veritabanı işlemlerini nesneler üzerinden yapmamıza olanak sağlayan yapılardır. Veritabanında bulunan her tabloya karşılık gelen bir nesne bulunmaktadır. Veritabanına ekleme, silme, listeleme vb.. işler bu nesneler kullanılarak, güvenli ve hızlı bir şekilde yapılır. ORM araçlarının diğer bir özelliğide veritabanı bağımlılığını ortadan kaldırmasıdır.
Günümüzde kullanılan birçok ORM aracı bulunmaktadır. Örneğin; Java tabanlı olarak Hibernate, Flex’de Athena Framework, Delphi’de ECO gibi. Entity Framework ise Microsoft tarafından geliştirilen .Net tabanlı bir ORM aracıdır.
Neden Entity ?
.Net projelerimizde farklı ORM araçları kullanmamızda mümkün, örneğin nHibernate. Bizim Entity’ i seçmemizdeki en büyük etken, Microsoft’ un ürünü olması ve Visual Studio ile birlikte gelen özelliklerle birlikte çok daha etkin kullanılabiliyor olması.
Entity Framework ile kolayca CRUD işlemleri yapılabilir.
Veritabanı olarak esnek yapıya sahiptir. Örneğin yazdığınız proje MSSQL ile çalışmakta ve birden Oracle’a geçmeniz istendi. Bunu yapabilmek için birçok ayar gerekirken Entity Framework ile direkt geçiş yapabilirsiniz.
Veritabanı bağımlılığı yoktur. Yani Entity Framework’ü oluşturmadan önce veritabanı tablo ve kolonlarını oluşturmalısınız gibi bir kural yoktur. Siz Entity Framework ile modellemeyi yaparken olmayan tabloları ve kolonları sizin yerinize açacaktır.
Veritabanı işlemleri ile ilgili kod yazımı en aza ineceğinden minimum zamanda maksimum iş çıkartmayı sağlar.

Entity Framework’ün temelinde üç yapı vardır. Bunlar Code First, Database First ve Model First dediğimiz yapılardır. Bunları kısaca açıklamak gerekirse;
Database First
            Database first yaklaşımında hali hazırda var olan veritabanınızı kullanmanıza olanak sağlar. SQL Server, Oracle, MySql  gibi ortamlarda tasarlanan veritabanını projeye ekleyebilirsiniz. Ancak veritabanında yapıcağınız değişiklikleri bu ortamlarda manuel olarak yaptıktan sonra yapılan değişikliklerin projenize yansıması için eklediğiniz database’ yi güncellemeniz gerekir.
Model First
            Model firt yöntemi Visual Studio ortamında görsel olarak çalışmaya olanak sağlar. Örnek olarak, tablo nesnesi oluşturup içine alanlar tanımlayıp tabloları birbirine görsel olarak bağlayabilirsiniz. Tüm veritabanı yapısı önünüzde  bir şema olarak ortaya çıkıyor. Bu Veritabanını VS.Net ortamındaki araçlar ile gerçek bir veritabanı içine aktarılır ve SQL serverde içinde primary keyler vb. fiziki olarak oluşturulur.
Code First
            Code first yapısı daha çok kullanıcıya özgürlük sağlayan hakimiyetin kullanıcıda olduğu, veri erişimin kod merkezli olan bir yöntemdir. Bir class yapısında verilerin kullanıcı tarafından kodlarla yapılır ve veritabanı otomatik oluşur . Veri erişimi mekanizmasında yer alan değiştirme noktalarından müdahale ederek veri erişim yapısını kendinize göre özelleştirmenizi sağlar. Database First, Model First yaklaşımları gibi herhangi bir designer yada xml eşleştirme dosyasına ihtiyaç yoktur.


Bu blogdaki popüler yayınlar

Cloud Computing Reference Architecture: An Overview

The Conceptual Reference Model Figure 1 presents an overview of the NIST cloud computing reference architecture, which identifies the major actors, their activities and functions in cloud computing. The diagram depicts a generic high-level architecture and is intended to facilitate the understanding of the requirements, uses, characteristics and standards of cloud computing. As shown in Figure 1, the NIST cloud computing reference architecture defines five major actors: cloud consumer, cloud provider, cloud carrier, cloud auditor and cloud broker. Each actor is an entity (a person or an organization) that participates in a transaction or process and/or performs tasks in cloud computing. Table 1 briefly lists the actors defined in the NIST cloud computing reference architecture. The general activities of the actors are discussed in the remainder of this section, while the details of the architectural elements are discussed in Section 3. Figure 2 illustrates the intera

Cloud Architecture

The cloud providers actually have the physical data centers to provide virtualized services to their users through Internet. The cloud providers often provide separation between application and data. This scenario is shown in the Figure 2. The underlying physical machines are generally organized in grids and they are usually geographically distributed. Virtualization plays an important role in the cloud scenario. The data center hosts provide the physical hardware on which virtual machines resides. User potentially can use any OS supported by the virtual machines used.  Operating systems are designed for specific hardware and software. It results in the lack of portability of operating system and software from one machine to another machine which uses different instruction set architecture. The concept of virtual machine solves this problem by acting as an interface between the hardware and the operating system called as system VMs . Another category of virtual machine is called

CLOUD COMPUTING – An Overview

Resource sharing in a pure plug and play model that dramatically simplifies infrastructure planning is the promise of „cloud computing‟. The two key advantages of this model are easeof-use and cost-effectiveness. Though there remain questions on aspects such as security and vendor lock-in, the benefits this model offers are many. This paper explores some of the basics of cloud computing with the aim of introducing aspects such as: Realities and risks of the model  Components in the model  Characteristics and Usage of the model  The paper aims to provide a means of understanding the model and exploring options available for complementing your technology and infrastructure needs. An Overview Cloud computing is a computing paradigm, where a large pool of systems are connected in private or public networks, to provide dynamically scalable infrastructure for application, data and file storage. With the advent of this technology, the cost of computation, application hosting, c