Jump to content

Search the Community

Showing results for tags 'Entity Framework Core'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RAGE Multiplayer
    • Announcements
    • Discussion
    • Suggestions
  • Scripting
    • Scripting
    • Resources
  • Community
    • Support
    • Servers
    • Media Gallery
  • Non-English
    • Русский - Russian
    • Français - French
    • Deutsch - German
    • Espanol - Spanish
    • Română - Romanian
    • Portuguesa - Portuguese
    • Polski - Polish

Categories

  • Scripts
  • Gamemodes
  • Libraries
  • Plugins
  • Maps
  • Tools

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Facebook


Youtube


Skype


Web


VK

Found 2 results

  1. I'm trying to add a SQL Server Database to my RAGE server, using Entity Framework Core. I've created a resource and a separate project (in the same solution) for the database, getting to the following folder structure: and my Main.cs looks like this: using Database; using GTANetworkAPI; using System; namespace LoginRegister { public class Main : Script { [ServerEvent(Event.ResourceStart)] public void EventOnResourceStart() { try { using var context = new ServerDbContext(); } catch (Exception e) { Console.WriteLine("ERROR!"); } } } } And when I run server.exe, I get the following error in the console (which disappears when I remove the DbContext creation part from EventOnResourceStart:
  2. This tutorial will only work if you already have your MySQL + RAGE project set up. Step 1 Right-click on your project and select 'Manage NuGet Packages...'. Browse for the following packages and make sure you install the same version for all! (this example uses version 2.2.0) Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools Pomelo.EntityFrameworkCore.MySql Step 2 Create a Player.cs class with the following code: Step 3 Create a new class called '<myProject>Context.cs', in this example we will use TutorialContext.cs Paste the following code: Step 4 To make things easier for future classes, we will make an interface called IRepository.cs. This is not part of EF Core but it's a nice programming pattern to use with it. Copy-paste the code below into your interface: Step 5 Create a class called PlayerRepository.cs Now we will implement the interface we just created in our PlayerRepository.cs Step 6 Create a class called Main.cs so we can test our code on ResourceStart event. Paste the following code Step 7 Build and run your server You may get an error like: This means that in your RAGE runtime folder (D:\RAGEMP\server-files\bridge\runtime) you are missing the necessary dlls. Head over to (for example) A:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore\2.2.0\lib\netstandard2.0 and copy the needed .dll to the runtime folder of RAGE. You might have to do this for a couple of dlls. Just go back to the NuGetFallbackFolder and find the right one. If you fixed these errors, this should be the result: Step 8 (Extra) If you're adding more and more classes and you want to add changes to your database, use the following method: Create your new class (House.cs for example) and go back to your TutorialContext.cs and add public DbSet<House> Houses { get; set; } under Players (which we did in this tutorial). On the top left of your Visual Studio you will see a tab called 'View'. Click on it, go to 'Other Windows' and select 'Package Manager Console'. In the Package Manager Console, type: Add-Migration addedHouse Wait for the console to finish and type: Update-Database Your house class has now been added to the database. Enjoy.
×
×
  • Create New...