अद्यतन के रूप में जाना: नवम्बर 4, 2016
Reformatting - कोड उदाहरणों के लिए चित्र।
जानकारी: ध्यान रखें कि कुछ कोड उदाहरणों में, दृश्य स्टूडियो टेम्पलेट द्वारा उत्पन्न कोड को छोड़ दिया गया है।
अद्यतन: जुलाई 11, 2016
नेट कोर और EntityFrameWork कोर संस्करण 1.0 हम पर है!
तो इस गाइड एक छोटे से अद्यतन हकदार
चरण 1:
आपके आवेदन बनाएँ।
चरण 2:
जाओ आवश्यक संकुल
Microsoft.EntityFrameworkCore 1.0.0
Microsoft.EntityFrameworkCore.SQlite 1.0.0
चरण 3:
अपने संदर्भ बनाएं :
(संदर्भ एक वर्ग होगा जो आप बनाते हैं)
public class DatabaseContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Filename=MyDatabase.db");
}
}
चरण 4:
अपनी सेवाओं के लिए अपने संदर्भ जोड़ें:
(अपने स्टार्टअप वर्ग में स्थित है)
public void ConfigureServices(IServiceCollection services)
{
services.AddEntityFrameworkSqlite().AddDbContext<DatabaseContext>();
}
चरण 5:
स्टार्टअप पर अपने डेटाबेस बनाएँ, द्वारा इसे स्टार्टअप विधि
(स्टार्टअप क्लास में स्थित) में जोड़ना
public Startup(IHostingEnvironment env)
{
using(var client = new DatabaseContext())
{
client.Database.EnsureCreated();
}
}
एट वोइला!
अब आप अपने एएसपी.NET कोर अनुप्रयोगों में SQLite का उपयोग करने में सक्षम होंगे।
पुरानी मार्गदर्शिका अभी भी लागू होती है कि आप अपने मॉडल कैसे बनाते हैं और साथ ही अपने डेटाबेस संदर्भ का उपयोग करते हैं।
अद्यतन: 28 मई 2016
नेट कोर RC2 और EntityFramework कोर RC1 जारी किया गया है।
उन्होंने SQLite सेट अप करने के चरणों को बेहतर और सरल बना दिया है।
लेकिन मुझे इसके साथ कुछ परेशानी का सामना करना पड़ रहा है और Newtonsoft.Json लाइब्रेरी और NuGet के साथ एक त्रुटि के कारण इसे दोहराना नहीं कर सकता।
यदि आप ऐसा करना चाहते हैं, तो मैं आरसी 1 पुस्तकालयों में चिपकने की सलाह देता हूं!
चरण 1:
अपना ASP.NET वेब आवेदन
चरण 2:
उपकरण पर जाएं -> Nuget पैकेट प्रबंधक -> Nuget प्रबंधित समाधान के लिए पैकेज।
EntityFramework.SQLite
के लिए खोजें और Include prelease
बॉक्स को चेक करें। एक संदर्भ
अपने डेटाबेस के लिए एक संदर्भ कक्षा बनाएं बनाना:
पैकेज
चरण 3 स्थापित करें।
इसे जो कुछ भी आप चाहते हैं उसे कॉल करें, लेकिन चलिए कुछ ऐसी चीज के साथ जाएं जो MyDbContext
है। Startup.cs
करने के लिए
जाओ और सुनिश्चित करें कि अपने डेटाबेस के शुरू में बनाई गई है: अपने नए वर्ग DbContext वर्ग के वारिस हैं और OnConfiguring विधि ओवरराइड और इतने की तरह अपने कनेक्शन को परिभाषित:
public class MyDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionStringBuilder = new SqliteConnectionStringBuilder { DataSource = "MyDb.db" };
var connectionString = connectionStringBuilder.ToString();
var connection = new SqliteConnection(connectionString);
optionsBuilder.UseSqlite(connection);
}
}
चरण 4 अपने वेब अनुप्रयोग:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddEntityFramework()
.AddSqlite()
.AddDbContext<MyDbContext>();
}
: public Startup(IHostingEnvironment env)
{
// Set up configuration sources.
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
using (var db = new MyDbContext())
{
db.Database.EnsureCreated();
db.Database.Migrate();
}
}
दूसरी बात हम सेवा को जोड़ना होगा
चरण 5: निर्धारित करने से आपके मॉडल
अपने मॉडल बनाएं और MyDbContext.cs
पर जाकर अपने नए मॉडल से प्रत्येक के लिए नई प्रॉपर्टी जोड़ने (यह देखते हुए कि आप प्रत्येक के लिए एक मेज चाहते हैं!
मेरे मॉडल::
public class Category
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string UrlSlug { get; set; }
}
मेरी संदर्भ के लिए यह जोड़ना:
public class MyDbContext : DbContext
{
public DbSet<Category> Categories { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionStringBuilder = new SqliteConnectionStringBuilder { DataSource = "MyDb.db" };
var connectionString = connectionStringBuilder.ToString();
var connection = new SqliteConnection(connectionString);
optionsBuilder.UseSqlite(connection);
}
}
चरण 6:)
यहाँ एक उदाहरण है का उपयोग करते हुए संदर्भ
अपने HomeController पर जाएं और एक जोड़ने आपके नियंत्रक के लिए नया क्षेत्र।
private readonly MyDbContext _myDbContext = new MyDbContext();
और यह वापस आ देखने के लिए पारित करके एक ActionResult में इसका इस्तेमाल करते हैं: (अब मान, हमारे डेटाबेस में, एक श्रेणी की सुविधा देता है)
public IActionResult Index()
{
var category = _myDbContext.Categories.First();
return View(category);
}
तो अपने सूचकांक दृश्य पर जाकर करके, आप डेटाबेस से हमारे काल्पनिक डेटा का उपयोग कर सकते हैं। इसलिए की तरह अपने दृश्य के शीर्ष में एक मॉडल को परिभाषित करने से:
@model MyNameSpace.Models.Category
@{
ViewData["Title"] = "Hey Ho! SO!";
}
<div class="page-header">
<h1>@ViewData["Title"]</h1>
</div>
<div class="container">
@Model.Title
</div>
अब से हमारी वेब आवेदन शुरू करने और सौंपा पते के लिए जा रहा है कि हम एक फैंसी बूटस्ट्रैप हेडर के साथ एक डिफ़ॉल्ट html पृष्ठ देखना चाहिए, पृष्ठ पर इस दिखा :
दूसरी पंक्ति हमारे डेटाबेस में हमारी पहली श्रेणी का शीर्षक है (या होगा)।
Entity Framework 7 Docs
यह मेरा पहला क्यू & एक है - आप किसी भी इनपुट या कुछ है कि स्पष्ट टिप्पणी करने में संकोच नहीं करते की जरूरत है।
यह एएसपी.NET कोर एमवीसी वेब अनुप्रयोग में SQLite डेटाबेस को कार्यान्वित करने का एक बहुत ही बुनियादी उदाहरण है।
ध्यान दें करें डेटाबेस, कैसे संदर्भ और उस EntityFramework 7 उपयोग करने के लिए के लिए कनेक्शन स्ट्रिंग सेट करने के लिए कई तरीके है कि वहाँ अब भी है एक प्री-रिलीज़
निर्दिष्ट ढांचे 'Microsoft.NETCore.App', संस्करण '1.1.0' नहीं मिला था। तो अब इसे 1.1.0 की आवश्यकता है - यो एस्पनेट जनरेटर v 1.0.1 के साथ पिछड़ा संगतता तोड़ता है .. – hB0
यदि आप योनोमन के साथ विजुअल स्टूडियो का उपयोग करने जा रहे हैं, तो आपके पास 2 विकल्प हैं: 1) [.NET कोर 1.1 एसडीके डाउनलोड करें ] (https://www.microsoft.com/net/core#windowscmd) और [बीटा को NuGet अपडेट करें] (http://docs.nuget.org/ndocs/guides/install-nuget#nuget-beta-channel) । 2) मैन्युअल रूप से 'package.json' संपादित करें और" 1.1.0-preview4-final "को" 1.0.0-preview2-003131 "में बदलें (और" 1.1.0 "को" 1.0.1 "में भी बदलें। यदि आप कोई बनाते हैं 'global.json' फ़ाइल, सुनिश्चित करें कि sdk.version अभी भी आपके चयन के बावजूद" 1.0.0-preview2-003131 "है। एमएस '.csproj' के पक्ष में' package.json' से छुटकारा पा रहा है, इसलिए इसे पहचानना आवश्यक है 'package.json' – kimbaudi