10

मैं C#Sql के लिए धाराप्रवाह NHibernate मानचित्रण दृश्य

मैं निम्नलिखित तरीके से काम कर रहा हूँ

using FluentNHibernate.Mapping; 
using Com.Web.Domain; 

    namespace Com.Web.Mapping 
     { 
     public class CompanyMap : ClassMap<Company> 
     { 
      public CompanyMap() 
      { 
       Id(x => x.id); 
       Map(x => x.Name); 
       } 
      } 
     } 
पैदा करते हैं और मैप करने के लिए एक वर्ग

मैपिंग से asp.net mvc3 में धाराप्रवाह NHibernate का उपयोग कर रहा

कक्षा

 using System.Collections.Generic; 
    using System; 

     namespace Com.Web.Domain 
     { 

      public class Company 
     { 

      public virtual int id { get; set; } 
      public virtual string Name{get;set} 

      } 

     } 

और विन्यास फाइल में

private static void InitializeSessionFactory() 
    { 

     _sessionFactory = Fluently.Configure() 
      .Database(MsSqlConfiguration.MsSql2008 
          .ConnectionString(local) 

      ) 
      .Mappings(m => 
         m.FluentMappings 
          .AddFromAssemblyOf<Company>()) 
      .ExposeConfiguration(cfg => new SchemaExport(cfg) 
      .Create(false, false)) // this is intentionally set false , bcz i dont want to regenerate table when application starts every time 
      .BuildSessionFactory(); 


    } 

अब समस्या आ मैं एक दृश्य एसक्यूएल में की तरह दिखता है बनाने के इस

Sql देखें

CREATE VIEW [FeaturedCompanies] AS 

    SELECT COUNT(Company.id) As Count FROM Company 
    WHERE Name='Alias' 

मैं के रूप में इस दृश्य का उपयोग करने के लिए अपने कोड में चाहते हैं जैसा कि मैं उपयोग कर रहा हूं लेकिन मैं यह कैसे कर सकता हूं, मैंने बहुत खोज की लेकिन Google

Pleas help m पर कुछ भी नहीं मिला बाहर ई और अग्रिम धन्यवाद

क्या अब तक की कोशिश की है

कक्षा

public class FeaturedCompany 
{ 
    public virtual int id { get; set; } 
    public virtual int name { get; set; } 
    public virtual int count { get; set; } 
} 

मानचित्रण

public class FeaturedCompanyMap : ClassMap<FeaturedCompany> 
    { 
public FeaturedCompanyMap() 
{ 
    Table("FeaturedCompanies"); 
    ReadOnly(); 
    Id(x => x.id); 
    Map(x => x.name); 
    Map(x => x.count); 
} 
} 

उत्तर

14

दृश्य उसी तरह टेबल मैप की जाती हैं मैप की जाती हैं सिवाय इसके कि आपकोरखना चाहिए मैपिंग मेंगलती से इसे लिखने से रोकने के लिए। उदाहरण:

public class FeaturedCompanyMap : ClassMap<FeaturedCompany> 
{ 
    public FeaturedCompanyMap() 
    { 
     Table("FeaturedCompanies"); 
     ReadOnly(); 

     Id(x => x.Id); 
     Map(x => x.Name); 
     Map(x => x.Count); 
    } 
} 

अद्यतन: मायने रखता है

var results = session.Query<FeaturedCompany>().Where(filter).List(); 

foreach(var row in results.Select(r => "Alias: " + r.Name + " Occurence: " + r.Count)) 
{ 
    // print row to screen 
} 
+0

प्राप्त करने के लिए, लेकिन मैं कैसे मायने रखता है प्राप्त कर सकते हैं होगा (मेरा मतलब उस्तरा दृश्य या सी # में मेरे विचार के परिणाम)? –

+0

मेरा अद्यतन प्रश्न देखें, मैंने अपने आवेदन की कोशिश की जो ठीक है लेकिन मुझे नहीं पता कि सी # –