Considering the Farseer.net framework update more, because of the blog, for the first contact with the Farseer.net official blog may not be familiar with, so special open this post as a permanent sticky sticker. Here will be important links, announcements, messages, tutorials will be published here.
Project Introduction
- Farseer.net was renamed in the Qyn.studio V5.0 framework. (same product and author, change name and version number after open source)
- Development based on. NET Framework 4.0
- Farseer.net's predecessor has undergone 7 major revisions of the upgrade.
- Farseer.net allows developers to focus on business logic. Ignoring the development of the bottom of the framework.
- Farseer.net is an easy-to-get-fast, performance-efficient, focus-reducing code from the developer's point of view, supporting all database (ORM).
- Currently in: Sqlserver/oledb/sqlite/mysql/oracle has used the relevant small and medium-sized projects.
- Full table caching, partial caching (selection based on hit Ratio), and SQL execution monitoring are currently supported. (A lot of details, still need to understand, or watch the subsequent release of the tutorial)
Framework version
hosted in GitHub. QQ Group:116228666 (farseer.net Open source frame exchange) please specify: farseer.net. have git addresses posted in group announcements
V1.0 (concept version): You need to switch git to the concept branch. (In the development phase, it is expected to complete the development in April.) )
V0.2 (Stable version): In the default Branch master.
Folder description
\farseer.net\framework\v1.0,:
Latest News
- Farseer.net V1.0 Development Schedule Table
- about the Farseer.net V1.0 Concept version orm Open source framework for the elimination of interest
Getting Started tutorials
- V1.0 Tutorial (currently in development, published immediately after completion)
- V0.2 Tutorials
What is Farseer.net
Farseer.net is an ORM framework + Common tool + extension collection.
Instead of a database access SQL statement, an entity class is associated with a field in a database table and a logical operation that assigns a value to the field property of an entity class.
For example, we want to insert data into a table, which might be:
1 Insert into User (Id,name) Values (1, "Zhang San")
If you use ORM, you can:
1 New 1 " Zhang San " }. Insert ()
ORM, using the principle of reflection, the entity class is reflected. The reflected entity structure is cached and then manipulated based on the value of the instantiation.
The difference from other Orm,This is also the most concerned about the problem, the author in writing the premise of this framework is to make it as easy as possible for users. For example, the following are examples of additions and deletions:
1 //Query List2Users.Data.Where (o = o.id >1). Select (o =New{o.id, o.username}). ToList ();3 //querying a single entity4Users.Data.ToInfo (1);5 //Modify6 NewUsers {ID =1, UserName ="Zhang San" }. Update ();7 //Delete8 Users.Data.Delete ();9 //Add (data submitted by the form)TenUsers user =users.form (); OneUser. Insert ();
As much as possible to reduce the amount of code written, and improve the common methods of some types of operations.
At the same time, in order to reduce the threshold, the "user" perspective to consider the use of the design framework. Most of the time, when we are using a new class library, we feel we don't know what to do first, for this. The author subtracts many "new class names" as a prelude to a call.
For example, some frameworks might be xxx<users> as the beginning of data execution. And this xxx is written in the framework itself. Then everyone will have to recite this xxx word. Each time you write code, you will feel more "eat memory" (the author's memory is not good AH).
So our beginning is: Your custom entity class like the Usres entity class mentioned above. It's a series of operations: Users.Data.xxxxx Users are defined by themselves, as programmers, it is easy to remember. Then data is the inherited attribute. (No more than 2 basic). So it's very handy when writing code.
Version number description
Major version. Child version. Fixed version
such as: Ver 0.0.1
Major version: Large change, or project number. such as the underlying design pattern, large structure changes, such as the revision of the version number. (This version of the change may cause your current project to be in use, requiring a larger code change)
Child version: The version number is changed when the new feature module is added/removed. (This version of the change may cause your current project to be in use, requiring a small part of the code to be changed)
Fix version: Fix bug, comment, code optimization, change the version number when code changes less. (This version of the changes, generally do not need to change too large code, or do not change, please feel free to upgrade)
Farseer.net ORM Open Source description and link index