GVKun编程网logo

完美解决dedecms中的[html][/html]和[code][/code]问题(dedecms是什么)

3

如果您想了解完美解决dedecms中的[html][/html]和[code][/code]问题和dedecms是什么的知识,那么本篇文章将是您的不二之选。我们将深入剖析完美解决dedecms中的[h

如果您想了解完美解决dedecms中的[html][/html]和[code][/code]问题dedecms是什么的知识,那么本篇文章将是您的不二之选。我们将深入剖析完美解决dedecms中的[html][/html]和[code][/code]问题的各个方面,并为您解答dedecms是什么的疑在这篇文章中,我们将为您介绍完美解决dedecms中的[html][/html]和[code][/code]问题的相关知识,同时也会详细的解释dedecms是什么的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

完美解决dedecms中的[html][/html]和[code][/code]问题(dedecms是什么)

完美解决dedecms中的[html][/html]和[code][/code]问题(dedecms是什么)

终于解决了完美解决dedecms中的[html][/html]和[code][/code]问题,因为我的php不太熟练,所以正则搞了好几天,才能好,这次主要修改了discuz5.5和dedecms3.1的运行功能和code功能,好开心啊,开始新站的数据转移工作和新站模版制作了,到时候一个全新的了,如果有问题,大家可以交流下,现在blueidea和51js和dedecms的论坛问这个问题他们没有回答,但不影响效果,也让我自己学到了东西。

3.翻译系列:EF Code-First 示例(EF 6 Code-First系列)

3.翻译系列:EF Code-First 示例(EF 6 Code-First系列)

原文链接:http://www.entityframeworktutorial.net/code-first/simple-code-first-example.aspx

在前面一节中,我们学会了怎么,在我们项目中安装Entity Framework。现在我们来创建一个简单的Code-First示例吧:

假定,我们想为XYZ学校创建一个简单的应用程序,使用这个程序来添加、更新学生信息,以及学生分数信息,班级信息还有老师信息。

不像之前传统做法那样,先创建数据库,这里我们为我们的学生创建学生领域类。首先创建Student,以及Grade实体,代码中一个学生实体和一个Grade实体相关联。这被称作为一对多的关系。后面的章节中,我们将会学到EF怎么管理实体之间的关系。

我们创建一个控制台应用程序,安装好EF。

分享图片

然后创建Student 和Grade类

 public class Student { /// <summary>
        /// 学生ID /// </summary>
        public int StudentID { get; set; } /// <summary>
        /// 学生姓名 /// </summary>
        public string StudentName { get; set; } /// <summary>
        /// 出生日期 /// </summary>
        public DateTime? DateOfBirth { get; set; } /// <summary>
        /// 图片 /// </summary>
        public byte[] Photo { get; set; } /// <summary>
        /// 身高 /// </summary>
        public decimal Height { get; set; } /// <summary>
        /// 体重 /// </summary>
        public float Weight { get; set; } /// <summary>
        /// 导航属性--Grade--年级 /// </summary>
        public Grade Grade { get; set; } }
 public class Grade { public int GradeID { get; set; } public string GradeName { get; set; } public string Section { get; set; } public ICollection<Student> Students { get; set; } }

如上,我们创建好了程序的领域类。

Code-First方式,同样还需要一个上下文类,上下文类是继承自DbContext类的类。创建一个上下文类,如下,它继承自DbContext,暴露两个属性Students和Grades.

分享图片

现在,我们已经创建好了Code-First方式需要的类,现在来测试一下:

分享图片

 

运行项目:

分享图片

 

 表示一个学生信息已经成功添加到了数据库中。

但是,数据库在哪里呢?数据表呢?数据列呢?

这就是EF Code-First API 迷人之处。它基于你在上下文类的构造函数中传递的参数,创建数据库。因为这里,我们在上下文类的构造函数中没有传递任何参数,EF 就给我们在这里创建了数据库:

C:\Users\你的计算机名称

分享图片

这个数据库不能附加,我们可以在配置文件,配置一下:

分享图片

然后修改一下,上下文类的构造函数:

分享图片

再运行项目看看:

分享图片

 

 说明成功创建了数据库,我们看下生成的数据库:

分享图片

分享图片

就像上面图形中所示,EF为我们创建了数据库,还创建了相应的数据表,数据列。这样我们就使用Code-First,创建了数据库.

请注意:如果你修改了实体,再运行项目的话,就会报错:例如,我在Student实体中加一个属性Email。

分享图片

然后运行项目:

分享图片

 

 出现这个错误,是需要进行数据库迁移。你需要在上下文类中,定义数据库初始化策略,然后修改实体,最后运行项目。数据库迁移技术,我好多系列文章中都讲到了,当然 这个系列还是会告诉大家怎么配置,大家可以到时候好好跟着我巩固一下。

你现在肯定很好奇,EF API是怎么创建合适类型的数据列的,怎么创建主键,怎么创建外键的?答案就是使用Code-First默认的约定配置。下面一节中,我们将学习Code-First默认约定。

4.翻译系列:EF 6 Code-First默认约定(EF 6 Code-First系列)

4.翻译系列:EF 6 Code-First默认约定(EF 6 Code-First系列)

原文地址:http://www.entityframeworktutorial.net/code-first/code-first-conventions.aspx

约定就是一系列的默认规则,通过这些规则,在使用EF Code-First的时候,可以自动的基于你的领域类配置概念模型。就像你在前面Code-First示例一节中看到的那样,EF API 基于领域类,不需要额外的配置就可以,配置主键,外键,关系,以及列的数据类型等等。这就是EF Code-First约定在起的作用。如果领域类遵循了默认的约定,那么生成的数据库结构,就会是基于这个默认约定的。EF 6.x Code -First默认约定都定义在System.Data.Entity.ModelConfiguration.Conventions命名空间下。

下面的图表,列出来了Code-First默认约定:

默认约定 描述 Schema【模式】 默认情况下,EF会为所有的数据库对象,创建dbo模式名称。 Table Name【数据表名称】 默认,EF将会创建为实体创建的表名称是,实体名称+s。例如:Student实体将会映射成Students表 Primary Key Name【主键名称】

1.Id

2.实体名称+"Id"(不区分大小写的)

默认情况下,EF将会把实体的Id属性设置为主键,或者是将实体名称+Id的属性设置为主键。【不区分大小写的】

Foreign Key Property Name【外键名称】

默认情况下,EF将查找与主体实体的主键名称相同的外键属性

如果这个外键属性不存在,那么EF将会在数据表中,创建一个外键列,名称是:依赖项的导航属性名称+“_”+主体实体的主键名称。

例如:如果在Student实体中,不包含Grade实体的外键属性,EF将会在Students表中,创建名称为Grade_GradeId的外键。

NULL column 【NULL的列】  EF将会为所有的引用类型的属性创建可空数据列。例如:string,NUllable<int>,Student,Grade(所有类类型的属性) Not null column【不为空的列】 EF中为主键属性以及不为空类型的值类型创建非空列。例如:int、float、decimal、datetime等等。 DB Column Order【数据库列的顺序】 EF会根据属性在实体中的顺序,为列创建相应的顺序。需要注意的是:主键列会被移到第一个 Properties mapping to DB【属性怎么映射到数据库】 默认情况下,所有的实体属性都会被映射到数据库中,可以使用【NotMapped】特性,来标识属性,就可以让这个属性不被映射到数据库的表中了。 Cascade delete【级联删除】 默认对所有类型的关系都是启用的。

 

下面的图表,列出来了C#数据类型和sql Server数据类型映射的对应关系。

C#数据类型 映射到的sql Server数据类型 int int string nvarchar(max) decimal decimal(18,2) float real byte[] varbinary(max) datetime datetime bool bit byte tinyint short smallint long bigint double float char no mapping sbyte no mapping(Throws exception)抛异常 object no mapping

 

下面的图形,列出来了,根据默认的约定,生成的数据库。

分享图片

 

Relationship Convention【关系约定】

EF 6 默认可以通过导航属性,推断出一对多【One-to-Many】的关系。后面的章节中,我们会学习一对多的关系。

注意的是:EF 6 不包含一对一和多对多的关系约定。你可以通过数据注解或者Fluent API来配置一对一关系或者多对多关系。

Complex Type Convention【复杂类型约定】

Code First为类创建的复杂类型,并不包含Key 属性,同样主键也是没有通过数据注解或者Fluent API配置的。

好了,这就是Code-First默认约定的大体内容了,注意:这些约定可以通过数据注解或者Fluent API 重写。

这一篇就介绍完了,大家有什么不明白的,可以在下面留言,我会一一回复。谢谢。

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1.Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容

2.Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3.对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。

4.Html.Partial与Html.Action有啥区别呢?区别就是,Html.Partial只有一个视图,而Html.Action除了视图,还真的有个Action跟它对应,所以,Html.Action功能比Html.Partial要强。

 

如何调用这个Html.Partial

 //1、以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)
@Html.Partial( "_test" //加载对应文件 /Views/Product/_test.cshtml
 
//2、依据应用根路径定位视图// 以 "/" 或 "~/" 开头的路径代表应用根路径
@Html.Partial( "~/Views/Product/_test.cshtml" )
@Html.Partial( "/Views/Product/_test2.cshtml" )
 
//3、加载其他目录的 视图文件
//注意:需要复制views中的web.config 到template目录,否则会提示  "/template/A.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial( "/template/A.cshtml" )

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

在ASP.NET MVC中,有什么区别:

Html.Partial and Html.RenderPartial
Html.Action and Html.RenderAction

解决方法

Html.Action调用控制器的动作,这意味着它实例化控制器实体,调用动作方法,构建模型并返回视图结果.

Html.Partial使用已创建的模型(或者可以在没有模型的情况下调用)来渲染指定的视图.

何时使用一个而不是另一个?如果您已有模型并且只想拥有可重复使用的视图,请选择Html.Partial.如果你看到某个部分值得拥有自己的模型和动作,那么使用Html.Action可能是有意义的.

这个问题在this article中有更详细的讨论,你在上面看到的基本上是它的摘录.

关于完美解决dedecms中的[html][/html]和[code][/code]问题dedecms是什么的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于3.翻译系列:EF Code-First 示例(EF 6 Code-First系列)、4.翻译系列:EF 6 Code-First默认约定(EF 6 Code-First系列)、ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处等相关内容,可以在本站寻找。

本文标签: