netty的UnPooled ByteBuf是否需要引用计数?(Do netty's UnPooled ByteBuf need Reference counted?)
根据http://netty.io/wiki/reference-counted-objects.html ,当与其关联的引用计数达到0时,池化的ByteBuf需要返回池中,但是从UnPooled中使用ByteBuf分配的是什么?
Pooled ByteBuf need return to the pool when Reference count associated with it reach 0 according to http://netty.io/wiki/reference-counted-objects.html,But what do with ByteBuf alloc from UnPooled?
原文:https://stackoverflow.com/questions/37456273
更新时间:2023-01-17 16:01
最满意答案
你可以采取这种方法:
public class Song { public int Id { get; set; } public string ArtistName { get; set; } public virtual IList<Similarity> SimilaritiesWhereOriginal { get; set; } public virtual IList<Similarity> SimilaritiesWhereSimilar { get; set; } } public class Similarity { public int Id { get; set; } public int OriginalId { get; set; } public virtual Song Original { get; set; } public int SimilarId { get; set; } public virtual Song Similar { get; set; } } public class ApplicationDbContext : DbContext { public DbSet<Song> Songs { get; set; } public DbSet<Similarity> Similarities { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Song>().HasMany(x => x.SimilaritiesWhereOriginal).WithRequired(x => x.Original).WillCascadeOnDelete(false); modelBuilder.Entity<Song>().HasMany(x => x.SimilaritiesWhereSimilar).WithRequired(x => x.Similar).WillCascadeOnDelete(false); base.OnModelCreating(modelBuilder); } }
相似等级显示“原始”歌曲和“相似”歌曲之间的关系。 此类使用您可以从代码访问的您自己的many-2-many关系表替换EF自动生成的表。
You can take this approach:
public class Song { public int Id { get; set; } public string ArtistName { get; set; } public virtual IList<Similarity> SimilaritiesWhereOriginal { get; set; } public virtual IList<Similarity> SimilaritiesWhereSimilar { get; set; } } public class Similarity { public int Id { get; set; } public int OriginalId { get; set; } public virtual Song Original { get; set; } public int SimilarId { get; set; } public virtual Song Similar { get; set; } } public class ApplicationDbContext : DbContext { public DbSet<Song> Songs { get; set; } public DbSet<Similarity> Similarities { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Song>().HasMany(x => x.SimilaritiesWhereOriginal).WithRequired(x => x.Original).WillCascadeOnDelete(false); modelBuilder.Entity<Song>().HasMany(x => x.SimilaritiesWhereSimilar).WithRequired(x => x.Similar).WillCascadeOnDelete(false); base.OnModelCreating(modelBuilder); } }
Similarity class shows relationship between "original" song and "similar" song. This class replaces EF auto-generated table with your own many-2-many relationship table that you can access from the code.
相关问答
更多-
ASP.NET MVC如何访问实体框架生成的外键?(ASP.NET MVC How to access Entity Framework generated foreign key?)[2023-07-04]
你可以采取这种方法: public class Song { public int Id { get; set; } public string ArtistName { get; set; } public virtual IListSimilaritiesWhereOriginal { get; set; } public virtual IList SimilaritiesWhereSimilar { get; s ... -
构建错误Asp.Net MVC 3实体框架自动生成的文件(Build Error Asp.Net MVC 3 Entity Framework auto generated file)[2023-03-06]
我通过删除现有的edmx类文件并通过给出ado.net实体数据模型类的不同名称再次重新创建自动生成的文件来修复问题。 我也删除了.tt文件中的edmx文件。 谢谢。 I have fixed issue by deleting the existing edmx class file and re-creating the auto-generated file again by giving the different name of ado.net entity data model class. I ... -
对于您当前的模型,没有,除了禁用某些关系的casdading delete之外别无他法。 您的所有关系都是必需的,这意味着如果删除了一个类,您将删除该类的部分和学生(由于学生需要导航属性Classes ,因此Classes中没有公开的学生集合)。 但如果这些部分被删除,那些部分的学生也会被删除 - 这是Students的第二个删除路径。 我不知道你的模型的确切含义,但对我来说,删除班级的所有学生听起来很奇怪。 学生是否总是必须上课或不能暂时没有课堂作业(以及部分作业)? 也许学生有半年的假期学期,不参加任何 ...
-
ASP.NET MVC6中的实体框架7将多个外键指向同一个表(Entity framework 7 in ASP.NET MVC6 multiple foreign key to the same table)[2023-09-28]
我在准备答案的过程中详细分析了这个问题,并且我可以向您建议两个问题的解决方案。 由于Match类中有两个属性,因此存在该问题 public int HomeTeamId { get; set; } public int GuestTeamId { get; set; } 以及将生成的外键HomeTeamId和GuestTeamId 。 EF7使用ON DELETE CASCADE生成外键,这不能用作更多的外键。 实体框架(RC1)的当前实现没有注释属性,您可以使用它来更改行为。 问题的第一个解决方案是使用 ... -
您可以使用预先加载来在查询中包含Category ,使用: var model = db.Items.Include("Category").ToList(); 要么 var model = db.Items.Include(x=>x.Category).ToList(); 然后返回视图: return View(data); You can use eager loading to include the Category in the query, using: var model = db.Ite ...
-
在ASP.Net MVC 5应用程序中默认是外键可以为空(Are foreign key nullable by default in ASP.Net MVC 5 application)[2022-11-30]
您必须明确告诉EF,您希望此字段不可为空: public class YourContext : DbContext { public DbSetChildrens { get; set; } public DbSet Standards { get; set; } protected override void OnModelCreating(DbModelBuilder dBModelBuilder) { mod ... -
public ActionResult ViewMyBids() { var db = new AuctionsDataContext(); var pKey = User.Identity.GetUserId(); // I want to pass the primary key in to the auction model and get the results to a list var result = db.Auctions .Where(p ...
-
实体框架中的外键(Foreign Key in Entity Framework)[2022-05-19]
实体框架遵循关于外键的“约定优于配置”方法。 “与主要主键属性具有相同数据类型且名称遵循以下格式之一的任何属性表示关系的外键:'[导航属性名称] [主要主键属性名称]','[主类名称] [主键属性名称]'或'[主要主键属性名称]'。如果找到多个匹配项,则按上面列出的顺序给出优先级。外键检测不区分大小写。“ 来源: http : //msdn.microsoft.com/en-us/data/jj679962.aspx 因此,只要您遵循其中一个约定,它就会为您推断出外键。 如果您不遵循其中一个约定,则必须通过 ... -
如何使用asp.net实体框架获取sql外键中的数据?(How to get data in an sql foreign key using asp.net entity framework?)[2022-06-25]
如果您在MusicStoreDBEntities中有这两者之间的正确关系,您应该能够访问品牌名称,如g.brand.name 。 list2 = (from g in obj2.stringInstrumentItems where g.brand.name == guitar select g).ToList(); ^^^^^^ 否则,你必须像这样手动加入他们 - list2 = (from g in obj2.stringInstrument ... -
如何在ASP.NET MVC和实体框架中扩展模型?(How can I extend the Model in ASP.NET MVC and Entity Framework?)[2023-03-14]
如果您现在正在使用EF v1.0,则实体框架会非常干扰您的应用程序,这意味着您无法轻松创建POCO。 扩展模型的方法是使用partial类。 因此,当您刷新模型时,您所做的部分类仍然有效。 实体框架团队意识到这是一个问题,并在下一版本(EF V4.0)中对此进行了改进。 NHibernate更加友好,可以让您轻松扩展业务逻辑。 我真的认为杰里米·D·米勒的这篇博文非常善于指出这个问题。 If you are using EF v1.0 right now, the Entity Framework is v ...