在EF6中,我们有两种方法来声明两个表之间的关系:
注释属性
Fluent API
今天(偶然)我去掉了两张桌子之间的一段关系,一切都很正常。我很惊讶,因为EF不可能知道这两个表是如何连接的。
表如下所示:
[Table("item")]
public class Item
{
public Item()
{
ItemNotes = new HashSet<ItemNote>();
}
[Key]
[Column("itemID", TypeName = "int"
mysql中有两个表,如下所示:
Product:
ID(PK) Details
AB23CD etc
EF45GH etc
AB34CD etc
more rows...
Client:
P1 P2 Client ClientCallsThis
AB CD X X1
EF GH Y Y1
EF GH X X2
more rows...
P1和P2引用Product列中的前两个和最后两个字符。
我想
我有下面的模型。
public class Parent
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
我有两个POCO课程
员工
public class Employee
{
public Employee()
{
Departments = new HashSet<Department>();
}
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int EmployeeId { get; set; }
public String EmployeeName { get; set; }
public int DeptId { get; set; }
[ForeignKey(&
我是EF的新手,在EF中有一些关于命名约定的问题,假设我们有两个类Student和Teacher作为
public class Student
{
public long Id { get; set; }
public string Name { get; set; }
}
public class Teacher
{
public long Id { get; set; }
public string Name { get; set; }
}
Q1-如果教师(一个)与学生(多个)有一对多的关系,我们知道我们需要为学生添加外键属性和导航属性,并修改教师类如下:
pub
我试图设计一个应用程序使用EF核心2.1,使用代码优先的方法,但我不想在我的数据库外键。我发现FKs确实很难使用,尤其是在尝试运行dotnet ef database drop时。运行此命令时出错,因为我的数据库中有外键。
我不想担心外键,只想让表中的Id属性可以用于相关的项。如果/当我需要相关信息时,我会从数据库中抓取相关的项目。
public class Employer : BaseEntity
{
public string Name { get; set; }
public string Description { get; set; }
我试图在AbpUser (ASP.NET样板)和EF中的一个名为AccountType的类之间创建一个一对多的关系。我有以下代码:
public class User : AbpUser<User>
{
public virtual int? AccountTypeId { get; set; }
[ForeignKey("AccountTypeId")]
public virtual AccountType AccountTypeFk { get; set; }
}
public class AccountType : Entity
{
我已经阅读和查看了很多关于EF的资源,但是--有时--我看到一些例子遗漏了一个特定实例的外键id。其他时候,他们会把它放进去。把它留在里面或拿出来会有什么影响?
例如:
public class Student
{
public int TeacherID { get; set; }
[Required]
public Teacher Teacher { get; set; }
}
public class Teacher
{
public virtual List<Student> Students { get; set; }
}
与
public class
我首先在我的模型中使用代码,并试图在评估类中添加2个属性,这将是返回我的提供者类的外键。
... In Assessment Class ...
public class Assessment
{
public int AssessmentID { get; set; }
public int createdByProviderID { get; set; } // this will container a providerID
public int closedByProviderID { get; set; } // this will container a p
我在EF Code-First中有一个多对多的关联(如问题中所解释的),我也想对同一个实体使用一对多的关联。问题是EF没有产生正确的数据库方案。代码:
public class A
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<B> ObjectsOfB { get; set; }
}
public class B
{
public int Id { get; set; }
public virtual A ObjectA {
这是我的实体:
public class StackImage: ICollection<StackFile>
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual Guid Id { get; set; }
private IList<StackFile> StackFiles { get; set; } = new List<StackFile>();
public StackImage()
{
}
[
我在试着理解和信任EF。我有一个带有表的数据库,我试图用EF Code-First技术复制大部分结构,作为练习它们的基础。
我所有的课都用“Hb”作为名字的前缀。我想在其他类上写入对象引用,而属性名上没有'Hb‘。
我遵循这个的指示
第一个实现导致异常,如:
在表'HbZipcode‘上引入外键约束HbZipcode可能会导致循环或多个级联路径。指定“删除不操作”或“更新不操作”,或修改其他外键约束。无法创建约束或索引。请参阅先前的错误。
[Required, ForeignKey("Country")]
public int CountryId { g
我正在使用这个技巧来使用EF执行条件包含。
我遇到的问题是,任何没有记录的集合都是null,并且不是空的。这会让人头疼,因为我必须先检查每个集合,然后才能在mvc视图中遍历它,否则我会得到一个空引用异常。
例如,StudentModules集合将为空。如何在查询中将其转换为空列表?ie无需遍历所有内容并进行检查。
我可以在poco中放一个构造器来初始化列表,它可以修复它,但是this集合是poco中的一个虚拟成员(基于EF视频!)--这不是正确的方法吗?
var query = from module in db.Modules
where module.Id == i
我有一个从我父母到我孩子的可空外键:
public class Company
{
public int? AddressID {get;set;}
public Address Address {get;set;}
}
public class Address
{
public string StreetAddress {get;set;} //not nullable in DB
}
当我尝试保存到数据库时,EF试图保存Address对象,尽管它是空的:
var company = new Company{AddressID = null } //other st
我正在我的项目中使用EF7 rc2。有两个相关的类
public sealed class Member
{
......
public MemberState State { get; set; }
}
public sealed class MemberState
{
public Guid Id { get; set; }
public Org Org { get; set; }
....
}
和EF配置:
modelBuilder.Entity<MemberState>(entity =>
{
entity
我面临的问题是EF在查询中创建了Oracle数据库表中不存在的列。
EF创建的简化模型如下所示(我使用DB first方法):
public partial class USER
{
public int ID { get; set; }
public string NAME { get; set; }
public int PROCESS_ID { get; set; }
public virtual PROCESS PROCESS { get; set; }
}
public partial class PROCESS
{
pub
标题有点混乱,但我想不出其他的说法了。所以我会用一个例子来解释。
假设我有一个Student类,一个Student属于School类,School可以有很多学生。然后,我们倾向于为School模型编写以下内容:
public class School
{
public int ID { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
对于Student模型:
public class Student
{
public int ID { get; set; }
我和EF有点问题。我可以误会一些事情吗……所以我有一个简单的模型: public class Image
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string ImgPath { get; set; }
}
public class UserExtendedInfo
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { g
我觉得自己像个白痴,在谷歌上到处搜索,但我找不到答案。如何为应用程序用户的Id创建外键?我有一堂课:
public class Enrollment
{
public int Id { get; set; }
[Required]
public Guid UserId { get; set; }
[ForeignKey("ApplicationUserId")]
public ApplicationUser User { get; set; }
[Required]
[ForeignKey("Major"
我在EF中定义了两个表RelImpOrdi和Imprimantes,如下所示: public class RelImpOrdi
{
[Key]
public int IdImprimante { get; set; }
[Required]
[MaxLength(50)]
public string NomOrdinateur { get; set; }
[Required]
public int ImpDefault { get; set; }
}
public class Imprimantes
{
[Key]
假设我有以下两种模型:
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
publi
我有这两个模型(不存在无关属性):
// based on Identity
public class User {
public long? CityId { get; set; }
public virtual City City { get; set; }
}
public class City : Base {
}
public class Base {
public string CreatorId { get; set; }
public virtual User Creator { get; set; }
}
现在,问题是EF核心无法确定User和City之间
我刚开始使用EF,有这样的场景:类:
public class Step
{
public int ID { get; set; }
public string name { get; set; }
}
public class Workflow
{
public int ID { get; set; }
public int stepID { get; set; }
public int nextStepID { get; set; }
public virtual Step Step
}
我想知道的是,是否有方法从基于stepID和ne
尝试使用数据注释或fluent api在ef核心中实现1到1或1到0导航属性的两个实例。
编队表只是id和name。
public class Formation {
public long Id { get; set; }
public string Name {get; set;}
}
井类可以有但不需要有较深的类型地层,井类可以有但不需要有产出型地层。
public class Well
{
public long Id { get; set; }
public long? DeepestForma
考虑下列实体之间的关系:
class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public int AuthorId { get; set; }
public Author Author { get; set; }
}
class Author
{
public int Id { get; set; }
public string FirstName { get; set;
我偶然发现了那个。我的问题也很相似。
我有两个EF班约会和工作。他们之间有一对多的关系。
public class Appointment
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int AppointmentID { get; set; }
public int AppointmentStatus { get; set; }
public string Remarks { get; set; }
public ICollection<Jo
我有一个MasterUserApprovalOfficial实体,它有两个外键,MasterUserId和SoftwareSystemId。EF 7非常聪明,可以发现这两个属性都是外来的,keys.Here是我的MasterUserApprovalOfficial类。
public class MasterUserApprovalOfficial
{
public int MasterUserApprovalOfficialId { get; set; }
public int MasterUserId { get; set; }
public MasterUser
我想了解以下两个表的结构以及"OrderId“外键是如何生成的:
订单表:-
public class Order : BaseEntity, IAggregateRoot
{
private Order()
{
// required by EF
}
public Order(string buyerId, Address shipToAddress, List<OrderItem> items)
{
Guard.Against.Nul
我有点困惑于一对多的一对多模型关系的相互冲突的例子,使用EF,我在网上看到。
我看过的一段视频在表之间建立了如下关系:
public class CustomerType
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public int CustomerTypeId { get; set;