请问关于c的具体应用场景有哪些?

2026-04-29 01:062阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计595个文字,预计阅读时间需要3分钟。

请问关于c的具体应用场景有哪些?

我目前正开发一个大学项目,正在使用Fluent+NHibernate。我正在研究如何为我我们的实体和Fluent映射创建测试。然而,在测试图数据库清理时,使用PersistenceSpecification的CheckList时,我已经走到了尽头。

我目前正在开展一个大学项目,我们正在使用Fluent NHibernate.我正在研究如何为我们的实体和Fluent映射创建测试.

然而,在试图弄清楚如何使用PersistenceSpecification的CheckList时,我已经走到了尽头.

单元测试失败,出现以下错误:

请问关于c的具体应用场景有哪些?

MvcShop.Core.Tests.EntitiesTests.ItemTest.CanMapItem threw exception: NHibernate.PropertyValueException: not-null property references a null or transient valueMvcShop.Core.Entities.ItemPicture.Item.

测试定义为:

private IList<ItemPicture> _itemPictures = new List<ItemPicture>() { new ItemPicture { Filename = "test.jpg", Title = "Test title", PrimaryPicture = true}, new ItemPicture { Filename = "test2.jpg", Title = "Test title 2" } }; [TestMethod] public void CanMapItem() { new PersistenceSpecification<Item>(Session) .CheckProperty(i => i.Title, "Test item") .CheckProperty(i => i.Description, "Test description") .CheckProperty(i => i.SalesPrice, (decimal)0.0) .CheckList(i => i.ItemPictures, _itemPictures) // Complains that Item on ItemPicture is null. .VerifyTheMappings(); }

我的映射定义为:

public ItemMap() { Table("Item"); Id(i => i.ItemID).GeneratedBy.Identity().Column("Item_id"); Map(i => i.ItemNo).Nullable().Length(30); Map(i => i.Title).Not.Nullable().Length(250); Map(i => i.Description).Nullable(); Map(i => i.SalesPrice).Not.Nullable().Precision(18); Map(i => i.AverageRating).Precision(18).Nullable(); Map(i => i.Visible).Not.Nullable(); Map(i => i.Weight).Not.Nullable().Precision(18); Map(i => i.TimesPurchased); Map(i => i.InStock).Not.Nullable(); Map(i => i.DateAdded).Not.Nullable(); HasManyToMany(i => i.ItemCategories).Cascade.All().Inverse().Table("ItemCategoryItem"); HasMany(i => i.ItemPictures).Cascade.AllDeleteOrphan().Inverse().LazyLoad(); HasMany(i => i.Comments).Cascade.AllDeleteOrphan().Inverse().LazyLoad(); HasMany(i => i.Ratings).Inverse().LazyLoad(); } public ItemPictureMap() { Table("ItemPicture"); Id(i => i.ItemPictureID).GeneratedBy.Identity().Column("ItemPicture_id"); Map(i => i.Title).Nullable(); Map(i => i.Filename).Not.Nullable(); Map(i => i.PrimaryPicture).Not.Nullable(); References(i => i.Item).Not.Nullable().Column("Item_id"); }

我真的无法想象如何在使用PersistenceSpecification类时填充ItemPicture的Item属性.

有任何想法吗?

最好的祝福,
丹麦肯尼​​斯

我认为在对它运行测试之前,ItemPicture必须存在于数据库中(根据Fluent文档: wiki.fluentnhibernate.org/Persistence_specification_testing – 请参见该页面的最后一行.)

尝试:

[TestMethod] public void CanMapItem() { var p1 = new ItemPicture { Filename = "test.jpg", Title = "Test title", PrimaryPicture = true}; var p2 = new ItemPicture { Filename = "test2.jpg", Title = "Test title 2" }; using (var tx = Session.BeginTransaction()) { Session.Save(p1); Session.Save(p2); }; new PersistenceSpecification<Item>(Session) .CheckProperty(i => i.Title, "Test item") .CheckProperty(i => i.Description, "Test description") .CheckProperty(i => i.SalesPrice, (decimal)0.0) .CheckList(i => i.ItemPictures, new List<ItemPicture> {p1, p2}); .VerifyTheMappings(); }

本文共计595个文字,预计阅读时间需要3分钟。

请问关于c的具体应用场景有哪些?

我目前正开发一个大学项目,正在使用Fluent+NHibernate。我正在研究如何为我我们的实体和Fluent映射创建测试。然而,在测试图数据库清理时,使用PersistenceSpecification的CheckList时,我已经走到了尽头。

我目前正在开展一个大学项目,我们正在使用Fluent NHibernate.我正在研究如何为我们的实体和Fluent映射创建测试.

然而,在试图弄清楚如何使用PersistenceSpecification的CheckList时,我已经走到了尽头.

单元测试失败,出现以下错误:

请问关于c的具体应用场景有哪些?

MvcShop.Core.Tests.EntitiesTests.ItemTest.CanMapItem threw exception: NHibernate.PropertyValueException: not-null property references a null or transient valueMvcShop.Core.Entities.ItemPicture.Item.

测试定义为:

private IList<ItemPicture> _itemPictures = new List<ItemPicture>() { new ItemPicture { Filename = "test.jpg", Title = "Test title", PrimaryPicture = true}, new ItemPicture { Filename = "test2.jpg", Title = "Test title 2" } }; [TestMethod] public void CanMapItem() { new PersistenceSpecification<Item>(Session) .CheckProperty(i => i.Title, "Test item") .CheckProperty(i => i.Description, "Test description") .CheckProperty(i => i.SalesPrice, (decimal)0.0) .CheckList(i => i.ItemPictures, _itemPictures) // Complains that Item on ItemPicture is null. .VerifyTheMappings(); }

我的映射定义为:

public ItemMap() { Table("Item"); Id(i => i.ItemID).GeneratedBy.Identity().Column("Item_id"); Map(i => i.ItemNo).Nullable().Length(30); Map(i => i.Title).Not.Nullable().Length(250); Map(i => i.Description).Nullable(); Map(i => i.SalesPrice).Not.Nullable().Precision(18); Map(i => i.AverageRating).Precision(18).Nullable(); Map(i => i.Visible).Not.Nullable(); Map(i => i.Weight).Not.Nullable().Precision(18); Map(i => i.TimesPurchased); Map(i => i.InStock).Not.Nullable(); Map(i => i.DateAdded).Not.Nullable(); HasManyToMany(i => i.ItemCategories).Cascade.All().Inverse().Table("ItemCategoryItem"); HasMany(i => i.ItemPictures).Cascade.AllDeleteOrphan().Inverse().LazyLoad(); HasMany(i => i.Comments).Cascade.AllDeleteOrphan().Inverse().LazyLoad(); HasMany(i => i.Ratings).Inverse().LazyLoad(); } public ItemPictureMap() { Table("ItemPicture"); Id(i => i.ItemPictureID).GeneratedBy.Identity().Column("ItemPicture_id"); Map(i => i.Title).Nullable(); Map(i => i.Filename).Not.Nullable(); Map(i => i.PrimaryPicture).Not.Nullable(); References(i => i.Item).Not.Nullable().Column("Item_id"); }

我真的无法想象如何在使用PersistenceSpecification类时填充ItemPicture的Item属性.

有任何想法吗?

最好的祝福,
丹麦肯尼​​斯

我认为在对它运行测试之前,ItemPicture必须存在于数据库中(根据Fluent文档: wiki.fluentnhibernate.org/Persistence_specification_testing – 请参见该页面的最后一行.)

尝试:

[TestMethod] public void CanMapItem() { var p1 = new ItemPicture { Filename = "test.jpg", Title = "Test title", PrimaryPicture = true}; var p2 = new ItemPicture { Filename = "test2.jpg", Title = "Test title 2" }; using (var tx = Session.BeginTransaction()) { Session.Save(p1); Session.Save(p2); }; new PersistenceSpecification<Item>(Session) .CheckProperty(i => i.Title, "Test item") .CheckProperty(i => i.Description, "Test description") .CheckProperty(i => i.SalesPrice, (decimal)0.0) .CheckList(i => i.ItemPictures, new List<ItemPicture> {p1, p2}); .VerifyTheMappings(); }