我在我的应用程序中使用EntityFramwok(代码优先),但由于某种原因,我必须将entityframwork方法更改为数据库优先。我已经在本地成功配置了该项目,当将代码发布到微软azure服务器并尝试登录我的应用程序时,它抛出一个异常:“”The context is being used in Code First mode with code that was generated from an EDMX file for either Database First or Model First development. This will not work correctly. To fix this problem do not remove the line of code that throws this exception. If you wish to use Database First or Model First, then make sure that the Entity Framework connection string is included in the app.config or web.config of the start-up project. If you are …
我在使用 EF 代码优先创建数据库时遇到问题。我有一个实体播放器和一个实体炸船。
每个友谊都涉及两个玩家。其中一名玩家是友谊的发送者,另一位是友谊的接收者。
这是我的实体:
播放器.cs
public class Player
{
public int PlayerId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[InverseProperty("Receiver")]
public virtual List<Friendship> FriendshipsIncoming { get; set; }
[InverseProperty("Sender")]
public virtual List<Friendship> FriendshipsOutgoing { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
友谊.cs
public class Friendship
{
public int FriendshipId { get; set; }
public int SenderId { get; set; }
public int ReceiverId { get; set; }
[ForeignKey("Sender")]
public …Run Code Online (Sandbox Code Playgroud) 在 Nestjs graphql 中使用代码优先方法时,如何获得允许可为空值的数组类型字段。
该示例表明
@Field(type => [String])
ingredients: string[];
Run Code Online (Sandbox Code Playgroud)
[String!]!文件中生成schema.gql。我怎样才能得到公正[String]?使用{nullable: true}给了我[String!]
我希望在装饰器中找到某种类型的实用程序或参数@Field,但似乎并非如此
在我的域中,我有这些类(简化形式)
public class Document
{
public string Id { get; set; }
public IList<MetadataValue> MetadataList { get; set; }
}
public class MetadataValue
{
public string DocumentId { get; set; }
public string Metadata { get; set; }
public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
文档可能包含许多元数据.在Document实体的映射中,我有:
HasMany<MetadataValue>(x => x.MetadataList)
.WithRequired()
.HasForeignKey(x => x.DocumentId);
Run Code Online (Sandbox Code Playgroud)
当我持久化Document对象时,其元数据列表也会保持不变.但是当我检索Document对象时,其元数据列表始终为null.这个映射有什么问题?
entity-framework one-to-many code-first entity-framework-4.1
我正在努力弄清楚我需要做些什么才能让它发挥作用.我正在用EF学习ASP.NET MVC CodeFirst.如果我制作模型,我可以简单地为该模型添加一个控制器,并添加脚手架来创建自动处理CRUD的视图.但现在我有两个模型,项目和类别.它们具有多对多的关系,并且数据库使用关联表正确设计,而无需为其创建单独的模型.模型的代码是这个....
public class Project
{
public int ProjectId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Testimonial { get; set; }
public virtual ICollection<Image> Images { get; set; }
public virtual ICollection<Category> Categories { get; set; }
public Project()
{
Categories = new HashSet<Category>();
}
}
public class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public ICollection<Project> …Run Code Online (Sandbox Code Playgroud) checkbox asp.net-mvc many-to-many entity-framework code-first
我想验证日期时间,我的代码是:
[Range(typeof(DateTime),
DateTime.Now.AddYears(-65).ToShortDateString(),
DateTime.Now.AddYears(-18).ToShortDateString(),
ErrorMessage = "Value for {0} must be between {1} and {2}")]
public DateTime Birthday { get; set; }
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
Run Code Online (Sandbox Code Playgroud)
请帮我?
问题:向我的dbcontext添加对象"Order"时,订单的所有嵌套对象都会"读取"到数据库,尽管嵌套对象是静态数据,并且只在数据库中添加了一个引用.
示例:数据库包含0个订单和3个项目.
我添加了一个包含2个项目的订单.
现在数据库包含1个订单和5个项目.订单中的两个项目已经"读取"到数据库中,即使这些项在db.SaveChanges()之前具有正确的主键.
我意识到我可以在保存更改之前将现有项附加到dbcontext,但这真的是唯一的方法吗?当主键与现有项匹配时,EF不能确定项已存在吗?
有没有人知道在新版本的EF CodeFirst中这是不同的?
我正在使用Entity Framework 5构建一个ASP.Net MVC4 Web应用程序.我不得不使用现有的sql server数据库,但也想使用Code First,所以我按照本教程http://msdn.microsoft.com/en-us /data/jj200620.aspx
我的应用程序使用Entity Framework自动迁移.
我在整个开发阶段使用的sql server版本是2008年,然而,在最后一刻我被告知数据库需要在sql server 2005上运行.我得到了我在sql server 2008设置中使用的数据库(确切的) sql server 2005上的表,属性名,关系等.但是,我的web配置等设置指向sql server 2005数据库,当我对我的一个模型类进行更改时,自动迁移不起作用.
我收到以下错误
数据库中已经有一个名为"tblcourseprofessionTarget"的对象.
有人可以帮忙吗?
谢谢.
如果我没有添加足够的信息,请道歉.
我在ASP.NET MVC Web应用程序中使用Entity Framework Code First,其中客户习惯在字符串末尾添加空格.
显然Trim()是解决这个问题的正确答案,但是记住在整个项目中修剪一切并不是正确的事情.做了一些挖掘并找到了ASP.NET MVC:在数据输入后修剪字符串的最佳方法.我应该创建自定义模型绑定器吗?他们在哪里创建了一个自定义模型绑定器,但我担心当绑定模型时,应用程序的每个页面加载都会有性能损失.看起来像SaveChanges()被称为修剪将是最有效的方式,因为事情将被存储修剪到数据库中.
所以我的问题是,覆盖SaveChanges()并获取所有添加和修改的对象,ObjectContext然后使用反射来修剪每个字符串,这是正确的事情吗?或者模型绑定器是正确的方法吗?
我在要迁移到sql server数据库的实体类中有一个datetime属性.
我在代码中创建实例时并不是在帮助它,这意味着它正在使用mindate
一切都很好,但它在数据库结构的列中保存为不可空
我想强迫它可以为空,但到目前为止,我只用了对面,使用[必需]
有什么建议?
谢谢
code-first ×10
asp.net-mvc ×2
c# ×2
.net ×1
azure ×1
checkbox ×1
date-range ×1
dbcontext ×1
graphql ×1
many-to-many ×1
migration ×1
nestjs ×1
one-to-many ×1
reflection ×1
validation ×1