您的位置:首页 > 编程语言 > ASP

asp.net MVC_EF_DB

2015-12-21 20:04 627 查看
1、创建数据库项目,设置属性(选择用哪个版本的数据库、连接字符串等),然后创建sql脚本用于创建表和

添加测试数据,生成、执行,查看数据库对象资源管理器验证数据已经生成成功。

2、新建主要的MVC项目设为启动项目,并在Models文件夹中新建项 

data-->ADO.NET Entit Data Model-->EF Designer from database  然后新建数据库连接(因为是要根据

数据库生成模型),选择表,完成。然后生成项目,便于下一步创建视图。

3、在Controllers文件夹中创建 带有视图的MVC 5控制器,选择模型类和数据库连接类,添加完成。之后也

可以再根据别的模型类创建视图,然后可以在  Views/Home/Index.cshtml 中添加

@Html.ActionLink("List of students", "Index", "Students") 按 ctrl+f5 来测试一下。

4、如果要更改表结构,添加新的列,那么要在添加之后重新生成数据库项目,然后打开查看验证新列是否

添加成功。然后打开 Models 文件夹下的 edmx 模型文件,右击视图界面的任何地方选择 从数据库更新模型,

然后选择要更新的表,点击完成查看模型的变化,如果是删除列,那么要手动更改模型结构。然后将与更改

过的模型类相关的控制器类和对应的视图删掉重新建立。最后 ctrl+f5 来测试一下。

5、也可以自己定义要显示的视图,比如在Students/Details.cshtml下更改要显示的内容。

6、为文本框等控件添加约束规则。方法一,在模型类中添加 using System.ComponentModel.DataAnnotations;

引用,然后在各个属性上面一行添加约束的特性,比如 [StringLength(50)] 限制文本框字符数。这种方法添加

之后便不允许更改,如果数据库等变化,重新生成模型类,那么该类的这些特性将会丢失,所以该方法不提倡。

方法二,添加一个包含属性的元数据类,这些特性作用于模型类。在模型文件夹中添加 Metadata.cs   
代码如下:

using System;
using System.ComponentModel.DataAnnotations;

namespace ContosoSite.Models
{
public class StudentMetadata
{
[StringLength(50)]
[Display(Name="Last Name")]
public string LastName;

[StringLength(50)]
[Display(Name="First Name")]
public string FirstName;

[StringLength(50)]
[Display(Name="Middle Name")]
public string MiddleName;

[Display(Name = "Enrollment Date")]
public Nullable<System.DateTime> EnrollmentDate;
}

public class EnrollmentMetadata
{
[Range(0, 4)]
public Nullable<decimal> Grade;
}
}然后要添加用于 元数据与模型关联的类

在模型文件夹中添加 PartialClasses.cs

代码如下:
using System;
using System.ComponentModel.DataAnnotations;

namespace ContosoSite.Models
{
[MetadataType(typeof(StudentMetadata))]
public partial class Student
{
}

[MetadataType(typeof(EnrollmentMetadata))]
public partial class Enrollment
{
}
}最后就可以运行测试了,与方法一效果相同。

7、将应用发布到 Azure ,这个并不支持国内用户注册(与国家政策有关),与之合作的世纪互联并

不免费,可以看看步骤。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvc asp.net c#