.NET Core Web API Microservice with SQL Server Entity Framework Core

Поділитися
Вставка
  • Опубліковано 13 гру 2024

КОМЕНТАРІ •

  • @CodingDroplets
    @CodingDroplets  2 роки тому +1

    ⭐ Join Us on Patreon: www.patreon.com/CodingDroplets
    Microservices Tutorial Playlist Link: ua-cam.com/video/gPInkLCfalE/v-deo.html

    • @guillermomazzari4983
      @guillermomazzari4983 2 роки тому +1

      Please ignore this question, I managed to solve it out, I had an indentation issue, I didn't know yaml files work similar to python, regarding indentation, thanks!

  • @SiegfriedFarnonMRCVS
    @SiegfriedFarnonMRCVS Рік тому +2

    Excellent. Pitched perfectly. I am an experienced developer. I don't need a lot of obvious explanations and you have got this just right. There are other videos which would take 90 minutes to explain what you just showed in 20. Good stuff. Keep it up. Subscribed and liked

    • @CodingDroplets
      @CodingDroplets  Рік тому +1

      Thank you for sharing your thoughts and subscribing. Glad to know you liked it.

  • @engineersINnight
    @engineersINnight 11 місяців тому +1

    Nice Demo

  • @MrDefour
    @MrDefour Місяць тому +1

    In minute 8:50, is it no problem for update function in row 42 not use await ?

    • @CodingDroplets
      @CodingDroplets  Місяць тому

      Great question! The Update method does not actually send a query to the database immediately; it simply marks the entity as modified in the change tracker. The actual database update happens when you call SaveChangesAsync, which is where the asynchronous operation comes into play.

  • @Yhau1989
    @Yhau1989 Рік тому +2

    Nice project

    • @CodingDroplets
      @CodingDroplets  Рік тому +1

      Thank you for your kind comment! We're delighted that you liked it.

  • @vijayarajan-bt5fk
    @vijayarajan-bt5fk 5 місяців тому +1

    Very fast . But Much Clear Thanks

    • @CodingDroplets
      @CodingDroplets  5 місяців тому

      Thank you for your feedback! I'm glad you found the tutorial clear and helpful.

  • @hermanpranoto3772
    @hermanpranoto3772 Рік тому +3

    when creating docker. when they ask target OS. should i choose windows because im using windows or i still choose linux anyway?

    • @hermanpranoto3772
      @hermanpranoto3772 Рік тому

      ok next question. after installing docker. i cant login in ssms with localhost.8001
      is something i missed?

    • @hermanpranoto3772
      @hermanpranoto3772 Рік тому

      now i have this error System.Exception: Cannot connect to SQL Server Browser. Ensure SQL Server Browser has been started.
      when try connect to 8002 from postman. ?

    • @KARTHIKEYANS-p6f
      @KARTHIKEYANS-p6f 10 місяців тому

      @@hermanpranoto3772 Where you able to solve this? I facing the same issue, but my host system is mac

    • @ErikKillmonger185
      @ErikKillmonger185 9 місяців тому

      Hi, I also got the target OS issue. Have you resolved it and how to do .Thanks

  • @akashgupta2366
    @akashgupta2366 2 роки тому +1

    Great tutorial to learn from ground level, you please share Git repo.

    • @CodingDroplets
      @CodingDroplets  2 роки тому +3

      Thank You! Below is the Github repo url:
      github.com/codingdroplets/DemoMicroserviceSolution

  • @TheLilRussia
    @TheLilRussia Рік тому +2

    Great Video! I have one question though. Is it safe to use the sa user for every microservice, or would you create a new db login and user for each microservice?

    • @CodingDroplets
      @CodingDroplets  Рік тому +1

      Thank you for watching my video and leaving such a thoughtful comment! I appreciate your engagement and am glad to hear that you found the video helpful.
      Regarding your question, it's generally not recommended to use the SA user for every microservice, as it can create security risks. Ideally, you should create a new database login and user for each microservice, with limited permissions based on what that service needs to do in the database.
      This approach helps to limit potential security vulnerabilities and makes it easier to manage access and permissions for each service separately. It also helps to ensure that each microservice only has access to the data it needs to function, reducing the risk of accidental or malicious data leaks.
      Of course, the specifics of how you set up database access and user permissions will depend on your particular application and security requirements, but I hope this provides some helpful guidance.
      Thanks again for your question and I hope you continue to find value in my content!

    • @TheLilRussia
      @TheLilRussia Рік тому +1

      @@CodingDroplets Wow, thank you for the detailed answer. Have blessed day.

    • @CodingDroplets
      @CodingDroplets  Рік тому

      Great to hear that! Your kind words mean a lot to me, and I appreciate your support. Have a blessed day too!

  • @naveenranjitkar8937
    @naveenranjitkar8937 Рік тому +3

    Good Video, but I can't connect Database when following your codes. Would you help me?

    • @CodingDroplets
      @CodingDroplets  Рік тому +1

      Thank you for your feedback and I'm sorry to hear that you're having trouble connecting to the database, I would be happy to assist you, can you please provide more details about the issue you're facing? Also, I wanted to let you know that the demo project shown in the video is available in a GitHub repository at github.com/codingdroplets/DemoMicroserviceSolution, so you can refer to that as a reference to see if there are any differences in your code.

  • @YakubuAzure
    @YakubuAzure Рік тому +2

    Hi, great tutorial but I encountered this error when I cloned your repo
    " Microsoft.Data.SqlClient.SqlException (0x80131904): Login failed for user 'sa'.
    at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) "
    I initially followed your tutorial & did the same thing & still encountered that error. Can you assist?

    • @CodingDroplets
      @CodingDroplets  Рік тому +1

      The application is unable to connect to SQL Server. Please check your connection string. The source code is available in the below github URL. Please verify your code.
      github.com/codingdroplets/DemoMicroserviceSolution

  • @crashgames58
    @crashgames58 2 роки тому +1

    Hello. Help pls. Where I can find a correct user ID? I have a problem in connection string, so I want you to desribe what every property means.

    • @CodingDroplets
      @CodingDroplets  2 роки тому

      You can find the connection string in Program.cs class. We are reading the Db Host, Db Name and Password from environment variables. In this video, we've hardcoded sa user id. You can include that as well in environment variables in the same way if needed.

  • @pks001
    @pks001 10 місяців тому +1

    Hi, If we have multiple WebApis (eg: 2 Api), then should we create 2 Docker container for each Api? please confirm

    • @CodingDroplets
      @CodingDroplets  10 місяців тому

      Yes, typically each API Application would have its own Docker container. This approach allows for better isolation, scalability, and management of each API Application individually. It also follows the microservices architecture pattern, where each service is encapsulated within its own container.

    • @pks001
      @pks001 10 місяців тому +1

      @@CodingDroplets Thanks. It's helpful

    • @CodingDroplets
      @CodingDroplets  10 місяців тому

      You are most welcome!

  • @antoniooliveira4265
    @antoniooliveira4265 2 роки тому +2

    when will you post the sequel?

    • @CodingDroplets
      @CodingDroplets  2 роки тому

      Working on the next video now. Will be uploading within 2-3 days.

    • @antoniooliveira4265
      @antoniooliveira4265 2 роки тому +1

      @@CodingDroplets Thanks! I really enjoyed the videos.

    • @CodingDroplets
      @CodingDroplets  2 роки тому

      You are welcome. Thanks a lot for sharing your thoughts.

  • @abdulmussavir4627
    @abdulmussavir4627 Рік тому +1

    Hello Bro
    When I run docker-Compose. So I have received this type of error: The "PrepareForLaunch" task failed unexpectedly.
    Please can you solve this query

    • @CodingDroplets
      @CodingDroplets  Рік тому

      The error message "The 'PrepareForLaunch' task failed unexpectedly" can occur due to a variety of reasons, so it's difficult to provide a definitive solution without more information about the specific error.
      However, here are some general troubleshooting steps that you can follow to help resolve the issue:
      Check the logs: The first step is to check the logs for the Docker containers that failed to start. You can use the docker-compose logs command to view the logs for all the containers in the compose file. Look for any error messages or exceptions that may provide more information about the cause of the error.
      Check the Docker Compose file: Make sure that the Docker Compose file is correctly configured and that all the necessary services and dependencies are defined. Check that the service names and container names match in the Compose file and in any other configuration files.
      Check the environment variables: Make sure that any environment variables required by the application or the containers are correctly defined in the Docker Compose file or in any other configuration files.
      Check the networking: Check that the containers are correctly configured to communicate with each other. Make sure that the ports are correctly exposed and that the networking is configured to allow communication between the containers.
      Check the Docker installation: Make sure that Docker is correctly installed and configured on the host system. Check that the Docker daemon is running and that the Docker CLI is correctly configured to communicate with the daemon.
      I hope this helps you troubleshoot the issue and resolve the error. If you have any further queries or concerns, please feel free to let me know!

  • @Zizzy7
    @Zizzy7 5 місяців тому +2

    This wasn't really helpful as it doesn't seem like you are explaining the micro concept. Help me understand what the correct concept of microservices are please.
    First create 2 Api's.. each with its own container. Then:
    1. Each Api to have it's own DB and the APIs can then communicate with each other to manage databases. This means each API can use EFCore to build the DBs code first.
    2. Both Api's communicate with the same DB. Which Api will then manage the DB code first generation? To me this then breaks the concept of microservices as the 2 APIs cannot live in isolation.. the one is always dependent on the other?
    So my question is.. Should each Api then have it's OWN db in order for it to be a microservice? If not, and you use Code First, it feels like everything gets very messy.

    • @CodingDroplets
      @CodingDroplets  5 місяців тому +2

      In a microservices architecture, each service should indeed be autonomous and independently deployable. So it is better to have separate databases for each services. If the APIs communicate with the same database, can break the microservices principles by creating dependencies between services which makes them harder to manage and evolve independently.

    • @SaadUllahKhan-x4u
      @SaadUllahKhan-x4u Місяць тому

      @@CodingDroplets you're king of hearts! by replying every good and bad comment respectfully.

  • @JirayuSutawong-w3q
    @JirayuSutawong-w3q Рік тому +1

    Could you please suggest me to fix this issue.
    fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
    An error occurred using the connection to database 'master' on server 'customerdb'.
    A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
    fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
    An error occurred using the connection to database 'dms_customer' on server 'customerdb'.
    fail: Microsoft.EntityFrameworkCore.Update[10000]
    An exception occurred in the database while saving changes for context type 'CustomerWebApi.CustomerDbContext'.
    Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
    ---> System.Security.Authentication.AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.

    • @CodingDroplets
      @CodingDroplets  Рік тому

      Check this:
      stackoverflow.com/questions/3270199/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ