我写了这样的课:
class Test
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public List<String> Strings { get; set; }
public Test()
{
Strings = new List<string>
{
"test",
"test2",
"test3",
"test4"
};
}
}
Run Code Online (Sandbox Code Playgroud)
和
internal class DataContext : DbContext
{
public DbSet<Test> Tests { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
运行代码后:
var db = new DataContext();
db.Tests.Add(new Test());
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我的数据正在保存但只是保存Id.我没有任何表格,也没有适用于字符串列表的关系.
我究竟做错了什么?我也尝试制作字符串, virtual但它没有改变任何东西.
谢谢您的帮助.
示例:假设我有这三个类.Foo是一个DbSet适当的实体框架的实体,而我希望我的EF的DbContext是不知道的Bar,并Baz因为我检举了Foo的酒吧财产与我组成SerializedColumn的属性.通过应用该属性,我希望EF将带有Bazes的Bar实例序列化为单个字符串字段,并在EF实现Foo时透明地将Bar反序列化为Bar对象.
public class Foo
{
public Guid Id { get; set; }
[SerializedColumn]
public Bar Bar { get; set; }
// ..
}
public class Bar
{
public string Name { get; set; }
public Baz[] Baz { get; set; }
// ..
}
public class Baz
{
public string Name { get; set; }
// ..
}
Run Code Online (Sandbox Code Playgroud)
所以Foo的表列看起来像:
[Id] [uniqueidentifier] NOT NULL
[Bar] [nvarchar](max) NULL
Run Code Online (Sandbox Code Playgroud)
当我查询一个时,Foo我会回来一个Bar已经反序列化的属性.当我插入或更新Foo …
entity-framework ef-code-first ef-migrations entity-framework-6 entity-framework-6.1
我有一个像这样的实体类型:
public class Invoice{
public int Id { get; set; }
public InvoiceNumberSequence Sequence { get; set; }
public decimal Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
该InvoiceNumberSequence如下所示:
public class InvoiceNumberSequence {
public string Prefix { get; set; }
public int Number { get; set; }
public string GetSequence() {
return Prefix + Number;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我有一个我无法更改的现有数据库,我正在尝试将表/列映射到我的域模型.这是表格的外观:
[SYSTEMINVOICES]
INVOICE_ID int
INV_TOTAL decimal
INVOICE_SEQ varchar(255)
Run Code Online (Sandbox Code Playgroud)
我DbContext喜欢这样的:
public MyDatabaseContext : DbContext {
public DbSet<Invoice> Invoices { get; set; } …Run Code Online (Sandbox Code Playgroud) c# oracle entity-framework ef-code-first entity-framework-4.1