Adding entities to the EF framework using the T4 template the ability to automatically generate field annotations from a database

Source: Internet
Author: User
Tags data structures

In the past development process, I will often choose the EF framework as the underlying data structure, EF provides us with a good ADO data access mechanism, he covered the data Link, LINQ and other aspects of the content, and when we use database first or code to show a clear advantage.

    1. Create entities with one click, eliminating the hassle of handwriting model.
    2. Update data structures in real time to keep the database consistent with model.
    3. Provides access to a variety of underlying data.
    4. Elegant grammar, for my favorite Lazy program Ape is a great boon.

However, the Entity Framework generates an. edmx file in VS, which causes the summary (description) to be empty and the specific bug information is "No metadata document is available." ", causing our table name to go to the field, can not predict the meaning of the field represents, which is more deadly in development, because developers can only rely on experience and speculation, the meaning of tables, fields, and not intuitive first time to know their use, to develop a lot of inconvenience.

There is a workaround on the network as follows:

Http://www.cnblogs.com/stone_w/archive/2012/10/25/2738345.html

But I tried. It's too much trouble, and once the EF is rebuilt and rebuilt.

Later I queried the information, can use the T4 template to solve this problem.

The nonsense is not verbose, start:

First we download a file getsummery, here I provide, you can directly download: Download

We create a table in the database and add a description to the fields in the table:

Then, we create a solution, select the class library

Continue, add the Entity Data Model, the concrete steps I will not demonstrate, everyone set up a database, directly generated on it.

Now let's take a look at the generated entities, and you can see that there are no field comment descriptions:

Then we unzip the downloaded files and put the extracted files into the solution:

Next, we modify app.config , the operation is very simple, add a connection string:

12 < Span class= "Crayon-o" ><add name= "myconn" connectionstring = "data source=.; Initial catalog=db;user id=sa;password=xxx; " providername= " System.Data.SqlClient " /> <! -- connection with ef consistent --

Then we modify model.tt and add the code at the top position:

1 <#@ include file= "Getsummery.ttinclude" #>

Where to join

Immediately after you find the location of the snippet in the template <#=codeStringGenerator.UsingDirectives(inHeader: false)#> , insert it under code:

123 // <summary> ///<#= Gettablesummery (code. Escape (Entity) #>//</summary>

Continue to find the <#=codeStringGenerator.Property(edmProperty)#> location of the code snippet: insert it above the code:

123 // <summary> ///<#= Getcolumnsummery (code. Escape (entity), code. Escape (Edmproperty)) #>//</summary>

Note: The previous comment symbol///cannot be less

Here to release a mine, convenient for everyone to control the line number, determine the approximate location:

Here, basically done, to refresh your entity model EDMX file, you will find the field comments are automatically added.

This article reprinted to: http://jeffblog.sinaapp.com/archives/501

Adding entities to the EF framework using the T4 template the ability to automatically generate field annotations from a database

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.