คำถามติดแท็ก nhibernate

NHibernate เป็นตัวทำแผนที่เชิงสัมพันธ์เชิงวัตถุแบบโอเพ่นซอร์สสำหรับกรอบงาน.

5
อัลกอริทึม Hi / Lo คืออะไร?
อัลกอริทึม Hi / Lo คืออะไร? ฉันพบสิ่งนี้ในเอกสารของNHibernate (เป็นวิธีหนึ่งในการสร้างคีย์ที่ไม่ซ้ำกันในส่วน 5.1.4.2) แต่ฉันไม่พบคำอธิบายที่ดีเกี่ยวกับวิธีการทำงาน ฉันรู้ว่า Nhibernate จัดการกับมันและฉันไม่จำเป็นต้องรู้ว่าข้างใน แต่ฉันแค่อยากรู้


4
ฟลูออเรสเซนต์ NHibernate Flush: ใช้ที่ไหนและเมื่อไรและทำไม?
หนึ่งในสิ่งที่ได้รับฉันสับสนอย่างทั่วถึงคือการใช้session.Flushร่วมกับและsession.Commitsession.Close บางครั้งก็session.Closeใช้ได้ผลเช่นมันยอมรับการเปลี่ยนแปลงทั้งหมดที่ฉันต้องการ ฉันรู้ว่าฉันต้องใช้การส่งมอบเมื่อฉันมีธุรกรรมหรือหน่วยงานหนึ่งที่มีการสร้าง / อัพเดต / ลบหลายครั้งเพื่อให้ฉันสามารถเลือกที่จะย้อนกลับหากเกิดข้อผิดพลาด session.Flushแต่บางครั้งผมได้รับการขัดขวางด้วยตรรกะที่อยู่เบื้องหลัง ฉันได้เห็นตัวอย่างที่คุณsession.SaveOrUpdate()ตามด้วยฟลัช แต่เมื่อฉันลบฟลัชมันก็ใช้ได้ดีอยู่ดี บางครั้งฉันพบข้อผิดพลาดในคำสั่ง Flush ที่บอกว่าเซสชันหมดเวลาและลบออกทำให้แน่ใจว่าฉันไม่ได้พบข้อผิดพลาดนั้น ใครบ้างมีแนวทางที่ดีว่าจะใช้ Flush ที่ไหนหรือเมื่อไหร่? ฉันได้ตรวจสอบเอกสารของ NHibernate สำหรับเรื่องนี้แล้ว แต่ฉันยังไม่พบคำตอบที่ตรงไปตรงมา

16
NHibernate.MappingException: ไม่มีสำหรับ: XYZ
ตอนนี้ก่อนที่คุณพูดมัน: ผมไม่ได้ Google และฉันhbm.xmlไฟล์เป็นทรัพยากรฝัง นี่คือรหัสที่ฉันเรียก: ISession session = GetCurrentSession(); var returnObject = session.Get<T>(Id); นี่คือไฟล์การแมปของฉันสำหรับคลาส: <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="HQData.Objects.SubCategory, HQData" table="SubCategory" lazy="true"> <id name="ID" column="ID" unsaved-value="0"> <generator class="identity" /> </id> <property name="Name" column="Name" /> <property name="NumberOfBuckets" column="NumberOfBuckets" /> <property name="SearchCriteriaOne" column="SearchCriteriaOne" /> <bag name="_Businesses" cascade="all"> <key column="SubCategoryId"/> …
135 c#  .net  nhibernate 

9
NHibernate เทียบกับ LINQ เป็น SQL
ในฐานะคนที่ไม่ได้ใช้เทคโนโลยีอย่างใดอย่างหนึ่งในโครงการในโลกแห่งความเป็นจริงฉันสงสัยว่ามีใครรู้บ้างว่าทั้งสองนี้เสริมกันอย่างไรและฟังก์ชันการทำงานของพวกเขาทับซ้อนกันมากแค่ไหน?

10
Entity Framework 4 เทียบกับ NHibernate [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีการพูดคุยกันมากมายเกี่ยวกับ Entity Framework เวอร์ชันแรกบนเว็บ (เช่นใน stackoverflow) และเป็นที่ชัดเจนว่ามันไม่ใช่ทางเลือกที่ดีเมื่อเรามีทางเลือกที่ดีกว่าเช่น NHibernate อยู่แล้ว แต่ฉันไม่พบการเปรียบเทียบที่ดีของ Entity Framework 4 และ NHibernate เราสามารถพูดได้ว่าวันนี้ NHibernate เป็นผู้นำในบรรดา. NET ORMs แต่เราสามารถคาดหวังให้ Entity Framework 4 แทนที่ NHibernate จากตำแหน่งนี้ได้หรือไม่ ฉันคิดว่าถ้า Microsoft ได้เพิ่มคุณสมบัติที่ดีมากใน EF4 มันสามารถทำให้เกิดการแข่งขันที่ดีกับ NHibernate เนื่องจากมีการรวม Visual Studio ใช้งานได้ง่ายขึ้นและความพึงพอใจจะมอบให้กับผลิตภัณฑ์ MS ในร้านค้าส่วนใหญ่

1
Moq: การตั้งค่าไม่ถูกต้องสำหรับสมาชิกที่ไม่สามารถเขียนทับได้: x => x.GetByTitle (“ asdf”)
ไม่แน่ใจว่าฉันจะแก้ไขปัญหานี้ได้อย่างไรโดยพยายามทดสอบหน่วยในเมธอด "GetByTitle" นี่คือคำจำกัดความของฉัน: public class ArticleDAO : GenericNHibernateDAO(IArticle, int>, IArticleDAO { public IArticle GetByTitle(string title) { IQuery query = Session.CreateQuery("...") return query.UniqueResult<IArticle>(); } } public interface IArticleDAO { IArticle GetByTitle(string title); } การทดสอบหน่วย: [Test] public void can_load_by_title() { _mockDaoFactory.Setup(x => x.GetArticleDao()) .Returns(_mockArticleDao.Object); _mockArticleDao.Setup(x => x.GetByTitle("some title")) .Returns(article1.Object); _articleManager.LoadArticle("some title"); Assert.IsNotNull(_articleManager.Article); …
111 c#  nhibernate  nunit  resharper  moq 


8
คุณจะทำเพจด้วย NHibernate ได้อย่างไร?
ตัวอย่างเช่นฉันต้องการเติมข้อมูลตัวควบคุม gridview ในเว็บเพจ ASP.NET โดยมีเฉพาะข้อมูลที่จำเป็นสำหรับจำนวนแถวที่แสดง NHibernate รองรับสิ่งนี้ได้อย่างไร?

20
มีเหตุผลที่ดีที่จะไม่ใช้ ORM หรือไม่? [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ระหว่างฝึกงานฉันได้ใช้NHibernateกับโปรเจ็กต์ขนาดเล็กบางโปรเจ็กต์ซึ่งส่วนใหญ่ฉันเขียนโค้ดและออกแบบด้วยตัวเอง ตอนนี้ก่อนที่จะเริ่มโปรเจ็กต์ที่ใหญ่กว่านี้มีการอภิปรายกันว่าจะออกแบบการเข้าถึงข้อมูลอย่างไรและจะใช้เลเยอร์ ORM หรือไม่ ในขณะที่ฉันยังอยู่ในการฝึกงานและยังคงคิดว่าตัวเองเป็นมือใหม่ในการเขียนโปรแกรมระดับองค์กรฉันจึงไม่ได้พยายามผลักดันในความคิดของฉันซึ่งก็คือการใช้ตัวทำแผนที่เชิงสัมพันธ์กับฐานข้อมูลสามารถทำให้การพัฒนาง่ายขึ้นได้มาก นักเขียนโค้ดคนอื่น ๆ ในทีมพัฒนามีประสบการณ์มากกว่าฉันมากดังนั้นฉันคิดว่าฉันจะทำตามที่พวกเขาพูด :-) อย่างไรก็ตามฉันไม่เข้าใจเหตุผลหลักสองประการที่ไม่ใช้ NHibernate หรือโครงการที่คล้ายกัน: เราสามารถสร้างอ็อบเจ็กต์การเข้าถึงข้อมูลของตัวเองด้วยคิวรี SQL และคัดลอกแบบสอบถามเหล่านั้นออกจาก Microsoft SQL Server Management Studio การดีบัก ORM อาจเป็นเรื่องยาก ดังนั้นแน่นอนว่าฉันสามารถสร้างชั้นการเข้าถึงข้อมูลของฉันด้วยจำนวนมากSELECTฯลฯ แต่ที่นี่ฉันพลาดข้อได้เปรียบของการรวมอัตโนมัติคลาสพร็อกซีที่โหลดขี้เกียจและความพยายามในการบำรุงรักษาที่ต่ำกว่าหากตารางได้รับคอลัมน์ใหม่หรือคอลัมน์ได้รับ เปลี่ยนชื่อ (การอัปเดตจำนวนมากSELECT, INSERTและUPDATEคำสั่งกับการอัปเดตการตั้งค่าการทำแผนที่และอาจ refactoring เรียนธุรกิจและ DTOs.) นอกจากนี้การใช้ NHibernate คุณสามารถประสบปัญหาที่คาดไม่ถึงหากคุณไม่รู้จักกรอบงานเป็นอย่างดี ตัวอย่างเช่นเชื่อมั่น Table.hbm.xml ที่คุณตั้งค่าความยาวของสตริงให้ตรวจสอบโดยอัตโนมัติ อย่างไรก็ตามฉันยังสามารถจินตนาการถึงจุดบกพร่องที่คล้ายกันในชั้นการเข้าถึงข้อมูลแบบ "ง่ายๆ" SqlConnection ในที่สุดข้อโต้แย้งเหล่านั้นที่กล่าวถึงข้างต้นเป็นเหตุผลที่ดีที่จะไม่ใช้ ORM …
107 c#  nhibernate  orm  enterprise 

2
TransactionScope ย้อนธุรกรรมอย่างไร
ฉันกำลังเขียนการทดสอบการรวมซึ่งฉันจะแทรกวัตถุจำนวนหนึ่งลงในฐานข้อมูลจากนั้นตรวจสอบเพื่อให้แน่ใจว่าวิธีการของฉันดึงวัตถุเหล่านั้นมาหรือไม่ การเชื่อมต่อกับฐานข้อมูลของฉันคือผ่าน NHibernate ... และวิธีการสร้างการทดสอบตามปกติของฉันคือการทำสิ่งต่อไปนี้: NHibernateSession.BeginTransaction(); //use nhibernate to insert objects into database //retrieve objects via my method //verify actual objects returned are the same as those inserted NHibernateSession.RollbackTransaction(); อย่างไรก็ตามฉันเพิ่งค้นพบเกี่ยวกับTransactionScopeซึ่งเห็นได้ชัดว่าสามารถใช้เพื่อจุดประสงค์นี้ ... บางโค้ดตัวอย่างที่ฉันได้พบจะเป็นดังนี้: public static int AddDepartmentWithEmployees(Department dept) { int res = 0; DepartmentAdapter deptAdapter = new DepartmentAdapter(); EmployeeAdapter empAdapter = …

4
วิธีที่ดีที่สุดในการแปลง IList หรือ IEnumerable เป็น Array
ฉันมีแบบสอบถาม HQL ที่สามารถสร้างรายการผลลัพธ์หรือ IE ไม่สามารถระบุผลลัพธ์ได้ อย่างไรก็ตามฉันต้องการให้มันส่งคืนอาร์เรย์ของเอนทิตีที่ฉันเลือกวิธีใดเป็นวิธีที่ดีที่สุดในการบรรลุเป้าหมายนั้น ฉันสามารถแจงนับและสร้างอาร์เรย์หรือใช้ CopyTo () อาร์เรย์ที่กำหนด มีวิธีไหนที่ดีกว่านี้ไหม? ฉันใช้วิธี CopyTo-approach
101 c#  nhibernate 

2
เกณฑ์ SpatialRestrictions IsWithinDistance NHibernate.Spatial
มีใครนำสิ่งนี้ไปใช้หรือรู้ว่ามันยากที่จะนำไปใช้ / มีคำแนะนำใด ๆ public static SpatialRelationCriterion IsWithinDistance(string propertyName, object anotherGeometry, double distance) { // TODO: Implement throw new NotImplementedException(); } จาก NHibernate.Spatial.Criterion.SpatialRestrictions ฉันสามารถใช้ "โดยที่ NHSP.Distance (PROPERTY,: point)" ใน hql แต่ต้องการรวมแบบสอบถามนี้กับแบบสอบถามเกณฑ์ที่มีอยู่ของฉัน ในขณะที่ฉันสร้างรูปหลายเหลี่ยมคร่าวๆและใช้ criteria.Add(SpatialRestrictions.Intersects("PROPERTY", myPolygon)); แก้ไข มีต้นแบบที่ทำงานโดยการโอเวอร์โหลดคอนสตรัคเตอร์บน SpatialRelationCriterion เพิ่ม SpatialRelation.Distance ใหม่ public static SpatialRelationCriterion IsWithinDistance(string propertyName, object anotherGeometry, double distance) { …

3
แอตทริบิวต์ผกผันใน NHibernate
ฉันจะใช้ Inverse Attribute ได้อย่างไร? ถ้าฉันจำไม่ผิดสำหรับความสัมพันธ์หนึ่งถึงหลายความสัมพันธ์ต้องตั้งค่าแอตทริบิวต์ผกผันเป็นจริง สำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่มต้องตั้งค่าแอตทริบิวต์ผกผันของคลาสเอนทิตีหนึ่งรายการเป็นจริงและอีกชุดหนึ่งเป็นเท็จ ใคร ๆ ก็ส่องไฟเรื่องนี้ได้บ้าง

7
คุณจับคู่ enum เป็นค่า int กับ NHibernate ได้อย่างไร?
คำถามบอกว่าทั้งหมดจริงๆแล้วค่าเริ่มต้นคือการแมปเป็น a stringแต่ฉันต้องการให้แมปเป็นintไฟล์. ฉันกำลังใช้PersistenceModelสำหรับการตั้งค่าการประชุมของฉันหากสิ่งนั้นสร้างความแตกต่าง ขอบคุณล่วงหน้า. อัปเดต พบว่าการเข้าสู่โค้ดเวอร์ชันล่าสุดจากหีบสามารถแก้ไขปัญหาของฉันได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.