<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://logicwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=InMemory_database</id>
		<title>InMemory database - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://logicwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=InMemory_database"/>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=InMemory_database&amp;action=history"/>
		<updated>2026-05-14T01:00:39Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=InMemory_database&amp;diff=2517&amp;oldid=prev</id>
		<title>AliIybar: Created page with &quot;Category:dotnet  == Install ==  dotnet add package Microsoft.EntityFrameworkCore 8.*  dotnet add package Microsoft.EntityFrameworkCore.InMemory  == program.cs ==  &lt;pre&gt; us...&quot;</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=InMemory_database&amp;diff=2517&amp;oldid=prev"/>
				<updated>2025-12-13T11:42:58Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php?title=Category:Dotnet&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:Dotnet (page does not exist)&quot;&gt;Category:dotnet&lt;/a&gt;  == Install ==  dotnet add package Microsoft.EntityFrameworkCore 8.*  dotnet add package Microsoft.EntityFrameworkCore.InMemory  == program.cs ==  &amp;lt;pre&amp;gt; us...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:dotnet]]&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
 dotnet add package Microsoft.EntityFrameworkCore 8.*&lt;br /&gt;
 dotnet add package Microsoft.EntityFrameworkCore.InMemory&lt;br /&gt;
&lt;br /&gt;
== program.cs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using Microsoft.EntityFrameworkCore;&lt;br /&gt;
.....&lt;br /&gt;
.....&lt;br /&gt;
&lt;br /&gt;
builder.Services.AddDbContext&amp;lt;AppDbContext&amp;gt;(options =&amp;gt;&lt;br /&gt;
  options.UseInMemoryDatabase(&amp;quot;PeopleDb&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
builder.Services.AddScoped&amp;lt;IPersonRepository, PersonRepository&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
they must be before '''var app = builder.Build();'''&lt;br /&gt;
== Entites/Person.cs ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class Person&lt;br /&gt;
{&lt;br /&gt;
    public int Id { get; set; }&lt;br /&gt;
    public string Name { get; set; } = string.Empty;&lt;br /&gt;
    public int Age { get; set; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Repositories ==&lt;br /&gt;
=== Repositories/AppDbContext ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using api_sandbox.Entities;&lt;br /&gt;
using Microsoft.EntityFrameworkCore;&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
public class AppDbContext : DbContext&lt;br /&gt;
{&lt;br /&gt;
  public AppDbContext(DbContextOptions&amp;lt;AppDbContext&amp;gt; options)&lt;br /&gt;
    : base(options)&lt;br /&gt;
  {&lt;br /&gt;
  }&lt;br /&gt;
  public DbSet&amp;lt;Person&amp;gt; People =&amp;gt; Set&amp;lt;Person&amp;gt;();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositories/IPersonRepository ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public interface IPersonRepository&lt;br /&gt;
{&lt;br /&gt;
    Task&amp;lt;List&amp;lt;Person&amp;gt;&amp;gt; GetAll();&lt;br /&gt;
&lt;br /&gt;
    Task&amp;lt;Person&amp;gt; Create(string name, int age);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositories/PersonRepository ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class PersonRepository(AppDbContext dbContext) : IPersonRepository&lt;br /&gt;
{&lt;br /&gt;
    public async Task&amp;lt;List&amp;lt;Person&amp;gt;&amp;gt; GetAll()&lt;br /&gt;
    {&lt;br /&gt;
       return await dbContext.People.ToListAsync();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public async Task&amp;lt;Person&amp;gt; Create(string name, int age)&lt;br /&gt;
    {&lt;br /&gt;
        var person = new Person {Name = name, Age = age};&lt;br /&gt;
        dbContext.People.Add(person);&lt;br /&gt;
        await dbContext.SaveChangesAsync();&lt;br /&gt;
        return person;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Controller ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class HomeController(IPersonRepository personRepository) : Controller&lt;br /&gt;
{&lt;br /&gt;
...&lt;br /&gt;
    [HttpGet(&amp;quot;add&amp;quot;)]&lt;br /&gt;
    public async Task&amp;lt;IActionResult&amp;gt;  AddPerson()&lt;br /&gt;
    {&lt;br /&gt;
        await personRepository.Create(&amp;quot;John&amp;quot;, 30);&lt;br /&gt;
        await personRepository.Create(&amp;quot;Jane&amp;quot;, 25);&lt;br /&gt;
        return Ok(&amp;quot;OK&amp;quot;);    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    [HttpGet(&amp;quot;get&amp;quot;)]&lt;br /&gt;
    public async Task&amp;lt;IActionResult&amp;gt; GetPerson()&lt;br /&gt;
    {&lt;br /&gt;
        return Ok(await personRepository.GetAll());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AliIybar</name></author>	</entry>

	</feed>