我目前使用的是EF Code First 4.3,启用了迁移,但禁用了自动迁移。
我的问题很简单,是否存在与模型配置.WillCascadeOnDelete(false)等效的数据注释
我想装饰我的类,这样外键关系就不会触发级联删除。
代码示例:
public class Container
{
public int ContainerID { get; set; }
public string Name { get; set; }
public virtual ICollection<Output> Outputs { get; set; }
}
pu
EF引发以下异常:
System.InvalidOperationException:引用完整性约束违反。依赖角色具有多个具有不同值的主体。
我有两个实体,StateProvince和Country:
public class StateProvince
{
public long Id { get; set; }
[StringLength(100)]
public string Name { get; set; }
public long CountryId { get; set; }
public Country Country { g
我首先使用的是EF4.1代码。我有两个类,它们都与contact类有一对一的关系。当我删除这两个类中的任何一个记录时,我希望同时删除contact类中的关联条目。
例如:
public class User
{
public virtual int ID { get; set; }
...
public virtual Contact Contact { get; set; }
}
public class Admin
{
public virtual int ID { get; set; }
...
public virtual Contact Cont
我有一个简单的1:多聚合关系,比方说:
public class Parent
{
public string Name {get; set;}
public Child SelectedChild {get; set;}
public Child PublishedChild {get; set;}
public virtual ICollection<Child> AllChildren {get; set;}
}
public class Child
{
public string Name {get; set;}
[Requ
我在和EF玩,试着弄清楚我的方向。现在我正在为一个网站写一个21点游戏。问题是,每当我从数据库中拉出一个GameState时,playerHand、dealerHand、theDeck和dealerHidden属性都是空的。
public class GameState
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int gameSession { get; set; }
public int playerScore { get; set; }
我在试着理解和信任EF。我有一个带有表的数据库,我试图用EF Code-First技术复制大部分结构,作为练习它们的基础。
我所有的课都用“Hb”作为名字的前缀。我想在其他类上写入对象引用,而属性名上没有'Hb‘。
我遵循这个的指示
第一个实现导致异常,如:
在表'HbZipcode‘上引入外键约束HbZipcode可能会导致循环或多个级联路径。指定“删除不操作”或“更新不操作”,或修改其他外键约束。无法创建约束或索引。请参阅先前的错误。
[Required, ForeignKey("Country")]
public int CountryId { g
我的实体是:
public class Customer
{
public Customer()
{
Invoices = new List<Invoice>();
Payments = new List<Payment>();
}
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public IList<Paymen
我有一个EF模型,它可以通过中介类自引用来定义父/子关系。我知道如何使用Map命令执行一个纯多到多的关系,但出于某种原因,通过这个中介类会导致映射出现问题。中间类为关系提供附加属性。请参见下面的类、modelBinder逻辑和错误:
public class Equipment
{
[Key]
public int EquipmentId { get; set; }
public virtual List<ChildRecord> Parents { get; set; }
public virtual List<ChildR
我有两个模特团队和球员
public class Player
{
public int Id { get; set; }
}
public class FootballPlayer : Player
{
public int? TeamId { get; set; }
public virtual FootballTeam Team { get; set; }
}
public class BasketballPlayer : Player
{
pub
我首先使用代码来生成表。
我有用户对象:
public class ApplicationUser
{
public int? ImageId { get; set; }
public virtual Image Image { get; set; }
public virtual ICollection<Image> Images { get; set; }
以及班级形象:
public class Image
{
public int ImageId { get; set; }
public int CreatedBy { get; set; }
public virtual
假设我有这样的场景:
Table Bar
Id int not null
Name string not null
和
Table Foo
Id int not nul
BarId int foreign key (Bar) references Id
当我尝试删除在Foo中有引用的Bar时,为什么EF试图更新Foo设置为空的Foo?
当有人试图将NULL设置为Bar时,我对我的属性进行了验证,当EF试图更新Foo时,我得到了这个错误。
如果我尝试删除一个查询,比如“从foo中删除id = 1”,我会得到:
The DELETE statement conflicted with the RE
实体框架代码首先为嵌套类中具有一到零关系的相同属性创建重复外键。
示例:
abstract class A {}
public class MyClass {}
public class B:A {
...
public int MyClassId {get; set;}
public virtual MyClass MyClass { get; set;}
}
public class C:A {
...
public int MyClassId {get; set;}
public virtual MyClass MyCla
我有一个问题,想弄清楚如何使这个工作的EF 4.1代码首先。我环顾四周,找到了一个,但我无法让它为我工作,而且听起来它也没有为这个人应答。
以下是所讨论的两个对象的简化版本。
public class Team
{
public int TeamId {get; set;}
public virtual IList<Game> Games {get; set;}
}
public class Game
{
public int GameId {get; set; }
public int AwayTeamId {get; set;}
public int Ho
我正在建立一个预订系统。我有角色中的用户(‘admin’,'client','employee','student')。
每个预订必须与角色client的用户相关联,它可能被分配给角色employee的用户,也可能被分配给角色为学生的用户。
所以在我的保留类中,我有User类型的属性,并且我用ForeignKey("AnytypeId")属性对它们进行了标记,以提示关系的EF。
我在上见过这样的代码
public class Reservation
{
public int ReservationID
{
我有三个简单的类,其中有一个代码优先模型。
我正在使用从visual-studio迁移的‘更新-数据库’命令来生成一个空的新数据库。
这在EF5中运行得很好(数据库是用配置的WillCascadeOnDelete(false)关系创建的)。
但是,一旦我升级到使用EF6的项目,命令'update-database‘就会失败,出现一个SQL循环异常(我总是在没有数据库的情况下启动)。
显然,OnModelCreating上的fluent api被忽略了。sql约束是使用ON级联和fail创建的(这不会追加到EF5中,而在该约束被正确创建的地方)。
public class LizardM
如何为以下关系配置EF映射:
public class OrderBook : BaseEntity
{
public OrderBook()
{
BuyOrders = new List<OrderBookItem>();
SellOrders = new List<OrderBookItem>();
}
public virtual ICollection<OrderBookItem> BuyOrders { get; set; }
我定义了以下实体和关系映射。但是,在保存时,我在EF 6中得到了错误。
System.Data.Entity.ModelConfiguration.ModelValidationException
我对此震惊了2天,不知道我的课堂上有什么问题。如果我删除,ResponseId in ResponseOffer,它运行良好。但是,我需要设置此值以将其保存在数据库及其FK中。
请求可能包含多个响应,每个响应可能包含多个响应提议。
[Table("Response")]
public class Response : AggregateRoot // AggregateRoot is
我有两个模特:
public class User
{
.....
public virtual UserProfile UserProfile { get; set;}
}
public class UserProfile
{
.....
public virtual User User { get; set;}
}
User是主表,关系是一对一的。一个用户只有一个UserProfile。
如何使用EF、UserProfile、Fluent API定义用户与用户之间的关系,以便当我从用户表中删除一个用户时,用户配置文件中的用户配置文件也会被删除?
我首先使用EF代码在本地.\SQLEXPRESS上创建一个数据库。
除其他外。我有两门课:
public class Shop
{
public int ShopID { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "You must enter a name!")]
[MaxLength(25, ErrorMessage = "Name must be 25 characters or less")]
public string Name {
下面是我的班
public class Item
{
public int ItemID { get; set; }
[Required(ErrorMessage = "Unit of measure1 is required.")]
public int Uom1Id { get; set; }
public UnitOfMeasure Uom1 { get; set; }
[Required(ErrorMessage = "Unit of measure2 is required.")]
public in
考虑到下面的粗略代码优先模式,目标似乎非常简单。Invoice既可以来自Company,也可以指向Company,Invoices集合应该包含所有发票,而不管它是哪一种发票。
public class Company
{
public int Id { get; set; }
public virtual ICollection<Invoice> Invoices { get; set; }
}
public class Invoice
{
public int Id { get; set; }
public int FromCompanyId {
我正在使用代码第一数据库优先(MYSQL,ENTITYFRAMEWORK 6,VISUAL STUDIO 2015),我试图添加一个使用脚手架从模型生成的控制器
但我得到“运行所选代码生成器序列时出错,序列不包含任何元素,无法为.检索元数据;序列不包含匹配元素”;
该模型是从数据库中连续生成的,但使用脚手架返回错误为指定模型添加了一个控制器。
DataContex
using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
pub
我有两个型号
public class A{
public AID { get; set; }
public int? MainBID { get; set; }
[ForeignKey("MainBID")]
public B MainB { get; set; }
}
public class B{
public int BID { get; set; }
public int? AID { get; set; }
[ForeignKey("AID")]
public virtual A O
我可能认为这是完全错误的,可以解释为什么我找不到答案在谷歌,但是,你能有一个1到(0或多)关系的EF代码首先?
示例
public class Item1
{
public int Id {get;set;}
public virtual ICollection<Item2> Item2List {get;set;}
}
public class Item2
{
public int Id {get;set;}
public int Item1Id {get;set;}
public virtual Item1 Item1
我有以下使用EF 5代码的简化类--首先,我的B类有多个FK指向A类。
public class A
{
public int Id {get;set;}
ICollection<B> Bs {get;set;}
}
public class B
{
public int Id {get;set;}
public int A1Id {get;set;}
public int A2Id {get;set;}
public int A3Id {get;set;}
[ForeignKey("A1Id")]
public
非常类似于
我有一堂课:
public class RateOfExchange
{
public int RateOfExchangeID { get; set; }
public int CurrencyID { get; set; }
public int BaseCurrencyID { get; set; }
public virtual Currency Currency { get; set; }
public virtual Currency BaseCurrency { get; set; }
}
首先使用EF6代码,我没有创建模型和播
我有一个简单的人
public class Person
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
}
如果一个人向另一个人发送好友请求,我就有这样的模型
public class FriendRequest
{
public int Id { get; set; }
public bool Accepted { get; set; }
我有以下实体类(简化):
public class MyClass
{
int Id {get;set;}
int MyObjectId {get;set;}
MyObject MyObject {get;set;}
}
public class MyObject
{
int Id {get;set;}
string Name {get;set;}
ICollection<MyClass> MyClass {get;set;}
}
Fluent映射
HasRequired(x => x.MyObje