我使用Nuget在我的MVC3 - > MVC4项目中更新到Entity Framework 5.0.0-beta2.
我正在努力让枚举工作,我添加的每个迁移都忽略了枚举字段.
我在web.config中找到了这个:
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Run Code Online (Sandbox Code Playgroud)
如何将此参考更新为EF5?
这是我需要让枚举工作吗?
在实体框架中实现空间类型(System.Data.Spatial.DBGeometry)之前,我们可以使用"Microsoft.SqlServer.Types.SqlGeometry"来处理缺少空间支持.该库具有类SqlGeometryBuilder,用于根据不同的几何点创建SqlGeometry.
我决定从SqlGeometry继续到DBGeometry,但我找不到任何与SqlGeometryBuilder过去相同的函数.你知道这有什么功能吗?或者你知道它是否会包含在下一个版本中吗?
提前致谢.
我有两张桌子 -
1. Account
2. Users
Run Code Online (Sandbox Code Playgroud)
在Account表中,DefaultExpensePartner并AccountOwner有外键UserId的字段Users的表.我已经定义了类如下.
public class Account
{
public int AccountId { get; set; }
public string AccountName { get; set; }
public int? AccountOwnerId { get; set; }
public int? DefaultExpensePartnerId { get; set; }
public virtual Users AccountOwner { get; set; }
public virtual Users DefaultExpensePartner { get; set; }
}
public class AccountConfiguration : EntityTypeConfiguration<Account>
{
public AccountConfiguration()
{
this.ToTable("Account");
this.HasKey(c => c.AccountId);
this.Property(c …Run Code Online (Sandbox Code Playgroud) 我正在使用Entity Framework 5 Code First,我有以下模型:
class Document
{
public int Id {get;set;}
public String Name {get;set;}
public IList<Page> Pages {get;set;}
}
class DocumentTemplate
{
public int Id {get;set;}
public String Description {get;set;}
public String Name {get;set;}
public IList<Page> Pages {get;set;}
}
class Page
{
public int Id {get;set;}
public string Text {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我知道如何映射子实体有1个父项的识别关系.但我想映射Page实体,以便它具有每个父级的标识关系.
此外,父关系是互斥的.特定页面将属于DocumentTemplate或Document,而不是两者.
实体框架5中是否可以进行这种映射?
我不想为Page创建单独的实体,因为它们基本上是相同的,除了父关系.
TIA.
我有一个使用Entity Framework 5.0和Code First的ASP.NET MVC应用程序.
我使用Visual Studio 2012发布了我的网站到Azure网站.除了没有将种子数据插入SQL Azure之外,一切似乎都有效; 该网站的工作,该数据库建成,但种子数据未插入.当我在本地计算机上运行时,一切正常.
根据我看到的示例,从Visual Studio 2012发布时,有一个名为"执行代码优先迁移"的选项(见下图).

但是当我尝试发布我的网站时,"执行代码优先迁移"选项不可用.

我相信这可能与我的解决方案配置方式有关.我有3个项目组成我的应用程序.
这一切都可以在我的本地电脑上运行.在大多数情况下,一切都适用于Azure; 网站工作,数据库建立,但没有插入种子数据.
对于我的场景,当我从Visual Studio 2012发布时,是否有任何建议如何将种子数据插入到SQL Azure中?
entity-framework entity-framework-5 visual-studio-2012 azure-web-sites azure-sql-database
我在VS2012上使用EF5,当表生成时我遇到了问题.
1)我创建了一个包含2个表的简单数据库模式(edmx):
属性:名称(字符串)
表2:角色
2)将唯一键的属性(称为Id)定义为:
3)实体模型的属性是:
4)生成相关的类,但不存在[Key]属性:
using System;
using System.Collections.Generic;
public partial class Person
{
public Person()
{
this.Role = new HashSet<Role>();
}
//[Key] <-- Missed!
public System.Guid Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Role> Role { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
5)我创建一个域服务,将上述实体暴露给客户端,如:
[EnableClientAccess] …Run Code Online (Sandbox Code Playgroud) 我目前有一个视图,其中包含两个文本框,用户可以在其中输入一些数据.一个文本框仅允许值1-10,另一个文本框为字符串.我不确定我做了什么代码更改,但接受字符串的第二个文本框不再"有效".例如,当我输入一个字符串并尝试提交表单时,我收到一条验证消息,指出"值"(字符串)"无效.以下是我的解决方案中的一些代码片段.
实体:
public class MovieReview
{
public int Id { get; set; }
[Range(1, 10)]
[Required]
public int Rating { get; set; }
public string Review { get; set; }
public int MovieId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public class ReviewsController : Controller
{
private MovieLoversDb _db = new MovieLoversDb();
public ActionResult Index([Bind(Prefix = "id")]int movieId)
{
var movie = _db.Movies.Find(movieId);
if (movie != null)
{
return View(movie);
}
return HttpNotFound();
}
[HttpGet]
public ActionResult Create(int movieId)
{
return …Run Code Online (Sandbox Code Playgroud) 使用db first方法,我希望我的应用程序在我尝试更新(过时的)实体时抛出并发异常,该实体已经由另一个应用程序/用户/会话更新了数据库中的相应行.
我在.Net 4.5上使用Entity Framework 5.相应的表具有Timestamp列以维护行版本.
我正在从Pro ASP.NET MVC 4这本书中学习ASP.NET MVC (顺便说一下,我喜欢这个版本).
我还在开头的章节中,它向我展示了System.ComponentModel.DataAnnotations命名空间属性,如何使用这些注释来模拟我的模型类,然后如何使用它们来检查模型是否有效(ModelState.IsValid在Controller)中.
例如:
public class GuestResponse
{
[Required(ErrorMessage = "Please enter your name"]
public string Name { get; set; }
}
...
public ViewResult RsvpForm(GuestResponse guestResponse)
{
if(ModelState.IsValid)
{
return View("Thanks", guestResponse);
}
}
Run Code Online (Sandbox Code Playgroud)
有几件事让我感到不安.
ErrorMessage验证属性的参数是否有些View相关?不是那样的东西属于UI图层吗?例如...如果由于空间限制我想要移动版本而不是说"请输入你的名字"说"需要姓名"怎么办?但这是我的模特!ModelState.IsValid确定模型的状态?模特不应该告诉我吗?据我所知,ModelState是利用了的DataAnnotations那个属性是在我的模型,但是这似乎也只是非常简单的型号.更复杂的模型甚至可能没有有效/无效状态,它可能只有各种阶段和状态.我在这里散步,但我不喜欢以声明的方式说出是什么让我的模型有效或无效.任何建议,保证或验证这些想法将不胜感激.
separation-of-concerns data-annotations asp.net-mvc-4 entity-framework-5
我只是想知道,实体框架连接字符串究竟是什么意思?喜欢:
metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=testSource;initial catalog=CatalogName;user id=sa;password=***********;multipleactiveresultsets=True;application name=EntityFramework"
我知道provider = System.Data.SqlClient; provider connection string ="data source = testSource; initial catalog = CatalogName; user id = sa; password =**
谁能告诉我字符串metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;
是什么意思?
而且,还有一件事我需要确认,如果我想在实体连接字符串中编辑,我能做到吗?
c# ×4
concurrency ×1
fluent ×1
razor ×1
relationship ×1
spatial ×1
sqlgeography ×1
timestamp ×1