我在试着理解和信任EF。我有一个带有表的数据库,我试图用EF Code-First技术复制大部分结构,作为练习它们的基础。
我所有的课都用“Hb”作为名字的前缀。我想在其他类上写入对象引用,而属性名上没有'Hb‘。
我遵循这个的指示
第一个实现导致异常,如:
在表'HbZipcode‘上引入外键约束HbZipcode可能会导致循环或多个级联路径。指定“删除不操作”或“更新不操作”,或修改其他外键约束。无法创建约束或索引。请参阅先前的错误。
[Required, ForeignKey("Country")]
public int CountryId { g
我通过code-first定义了下面的表:
public class Action
{
public int ActionId { get; set; }
public int? EmailMessageId { get; set; }
public virtual EmailMessage EmailMessage { get; set; }
}
public class EmailMessage
{
public int EmailMessageId { get; set; }
public string Content { get;set;
我有两个类:
public class Cluster
{
public int Id { get; set; }
public virtual ICollection<Blob> Blobs { get; set; }
}
public class Blob
{
public int Id { get; set; }
public virtual ICollection<Cluster> Clusters { get; set; }
}
public ClusterConfiguration ()
{
this.HasKey
问题是,我不能只使用EF codefirst约定执行级联删除。他们特别说:
我有父母和子女实体:
[Table("AssociationPages")]
public class AssociationPage
{
[Column("AssociationPageID"), Required, Key]
public int Id { get; set; }
[Required, ForeignKey("AssociationSetting")]
public int AssociationId { get; s
我有一个模型:
public class FileUpload
{
public int FileUploadId { get; set; }
public string FileName { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
public string Name { get; set; }
public FileUpload Logo { get; set; }
public int? LogoId { get; set;
如何使EF不允许删除相关实体?例:
public class Enrollment
{
public int EnrollmentId { get; set; }
public virtual ICollection<Course> courses { get; set; }
}
public class Course
{
public int CourseId { get; set; }
public string Name { get; set; }
}
当我创建一个课程A和B,然后我创建一个注册并将那些课程添加到它,我需要它不允许我删除课
我有这两种模式:
public partial class Country
{
public Country()
{
this.Dinners = new HashSet<Dinner>();
}
public int CountryID { get; set; }
public string Name { get; set; }
public virtual ICollection<Dinner> Dinners { get; set; }
}
和
如何指示EF不删除OneToMany关系,而是级联删除集合?
即:
public class Client
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Order
{
public int Id { get; set; }
public int ClientId { get; set; }
[ForeignKey("ClientId")]
public Client Client { get; set; }
p
我有以下EF 6.1实体:
public class Post {
public Int32 Id { get; set; }
public virtual ICollection<PostLocalized> PostsLocalized { get; set; }
}
public class PostLocalized {
public Int32 Id { get; set; }
public String Culture { get; set; }
public virtual Post Post { get; set; }
public vir
我有以下代码:
public class A
{
public Guid Id { get; set; }
public List<A> AList { get; set; }
}
配置fluent Api:
modelBuilder
.Entity<A>()
.HasMany(x => x.AList)
.WithOne()
.OnDelete(Delete
我有一个这样的数据库模型:
class User
{
public int ID { get; set; }
public string Username { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
class Order
{
public int ID { get; set; }
public string OrderName { get; set; }
public virtual User User { get; set; }
}
我有一个应用程序,使用EF POCO访问数据。一切都很好,但是单元测试有一个问题。想象一下两个相关的类:
public class Brother
{
public virtual Sister Sister { get; set; }
}
public class Sister
{
public virtual ICollection<Brother> Brothers { get; set; }
}
这里的问题是,如果我们有一个Brother实例,并将相关实体设置为其他实体,那么ObjectContext.DeleteObject()只在单元测试项目中抛出常见
我正在尝试在.NET EFCore中使用下面的代码-First迁移到下面的实体
用户
[Table("Users")]
public class User
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(100)]
public string FirstName { get; set; }
[Required]
[MaxLength(100)]
public string LastName { get; set; }
[Require
我是LINQ和EF的新手,我有一个关于我正在开发的论坛的快速问题。在这个论坛上有主题,每个主题都有相关的回复。我假设EF会看到约束,当删除主题时,也会删除相关的回复。相反,它会抛出一个约束错误。有没有一种简单的方法可以删除所有相关的回复,而不是循环遍历它们并将每个回复标记为删除?
例如,在SQL中,我会这样做:
DELETE FROM topic_replies WHERE TopicID='999'
DELETE FROM topics where TopicID='999'
但在EF中,我知道的唯一方法是:
Topic topic = //LINQ to g
我使用的是asp.net core 3 web api和EF core 3,在两个表之间有一个one to many关系:
Task和TaskType
Task有一个TaskType
TaskType有许多Tasks
以下是两个实体:
public class TaskType
{
public TaskType() {
Tasks = new HashSet<Task>();
}
[Key]
public Guid TaskTypeID { get;set; }
...
public ICollection<
我正在使用EF Core 5.0,并尝试创建多对多关系:
public class User
{
public int Id { get; set; }
public ICollection<UserItem> UserItems { get; set; }
}
public class Item
{
public int Id { get; set; }
public ICollection<UserItem> UserItems { get; set; }
}
public class UserItem
{
public
我想删除数据库中的2组数据,使用EF Core。
所有密码都是假设的。
数据模型:
class Parent
{
public int Id { get; set; }
}
class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public virtual Parent Parent { get; set; }
public bool Flag { get; set; }
}
让我们假设我希望删除(ParentId=100)和(flag=false)
我有一个PhoneNumber实体,我想跨多个实体引用它。例如,具有多个Contact的PhoneNumbers实体和具有一个PhoneNumber的Business实体。
public class PhoneNumber
{
[Key, Column(Order = 0), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Number { get; set; }
}
public class Contact
{
[Ke
嗨,我使用的是EF 4自跟踪实体。我有三个表(调查问卷,章节和页面)如下;
Questionnaire
Id
Title
WhenClosedShowPageId
Section
Id
QuestionnaireId
Page
Id
SectionId
因此,在EF模型中,调查问卷有部分,部分有页面。WhenClosedShowPageId是一个可以为空的整数,它引用要在调查问卷关闭时显示的页面。所有引用都具有维护引用完整性的关联。
当我将所有实体标记为已删除并尝试保存时,问题就出现了。如果在检索数据时WhenClosedShowPageId为null,那么delete就可以正常工作。如果
有一段时间,我一直在研究和阅读如何解决我的问题,甚至认为我已经找到了类似的问题,没有任何明确的答案,我尝试的一切似乎都不起作用。我对ASP.NET MVC4有点熟悉(我的主要能力依赖于PHP & MySQL)。为了学习的目的,我决定做一个小项目来提高我的C# noobie知识,但是我被一个小问题困住了,我有一种感觉,它可能很容易,而且有些事情我没有记住,但是如果您能为我提供以下的想法或解决方案,我将非常感激:
我创建了以下模型:
public class Address
{
[Key]
public int AddId { get; set; }
public
对于这个示例,我简化了以下db表:
网页 Id,URLIdentifier
WebpageMetaData Webpage_id关键词
Webpage_id是表的主键,也是返回到网页表的主键。
然后,我将使用Fluent NHibernate及其自动化功能将它们映射到以下POCO类:
public class Webpage
{
public virtual int Id { get; set; }
public virtual string UrlIdentifier { get; set; }
public virtual WebpageMetaData Webpa
在我的数据库中的两个表UserProducts和用户之间有一个外键关系,UserProducts有一个引用User表中的UserID的UserID。
ALTER TABLE [dbo].[UserProducts] WITH CHECK ADD CONSTRAINT [FK_UserProducts_Users] FOREIGN KEY ([UserID])
REFERENCES [dbo].[Users] ([UserID])
GO
ALTER TABLE [dbo].[UserProducts] CHECK CONSTRAINT [FK_UserProducts_Users]
GO