Repository pattern in asp net core

Поділитися
Вставка
  • Опубліковано 7 січ 2025

КОМЕНТАРІ • 138

  • @vinteetatha
    @vinteetatha 5 років тому +155

    You are making so developers' life easier! While in this world, everything has a price, you are spreading valuable knowledge free. You are just awesome!

    • @newageeducation5908
      @newageeducation5908 4 роки тому

      this is youtube marketing bro, this video won't teach you anything, but it will make you interested in buying his course

    • @TheUjjwalpandey
      @TheUjjwalpandey 4 роки тому +10

      @@newageeducation5908 It's teaching us a lot.

    • @brazenbull36
      @brazenbull36 4 роки тому +15

      @@newageeducation5908 Wrong. His youtube videos are some of the best resources on the internet.

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

      @@newageeducation5908 The content and knowledge Venkat gives in his course for free, that, others charges 100s of bucks for the same.

    • @meghabachu
      @meghabachu 3 роки тому

      @@newageeducation5908 bro urs wrong assumption. Pls remove ur assumption . his video's helped a lot. It's free of cost.

  • @abeldaniel2245
    @abeldaniel2245 4 роки тому +16

    When I have a headache in coding I will come to Venkat clinic!!!

  • @markkeller6917
    @markkeller6917 5 років тому +5

    Venkat is an awesome teacher. Easy to understand and all his material is very practical. He's almost always my go to source.

  • @ronjones1587
    @ronjones1587 5 років тому +12

    I learned a lot from this Video Series and I have a new job right now, thank you man !

    • @Csharp-video-tutorialsBlogspot
      @Csharp-video-tutorialsBlogspot  5 років тому +18

      Hello Ron - Wow....Hearty Congratulations. Very happy for you. Thank you very much for taking time to share the good news. It's an honour.
      Good luck and all the very best with your new role.

    • @manjinderbajwa1468
      @manjinderbajwa1468 4 роки тому

      Nice dear God bless

    • @Leng.sovandara
      @Leng.sovandara 4 роки тому

      me too.

  • @alrtdev8256
    @alrtdev8256 4 роки тому +2

    This channel never fails to disappoint me. Learned C# from 2013 with Kudvenkat. Thank you very much! and more power!

  • @markobradonjic3192
    @markobradonjic3192 5 років тому +2

    This is by far the best explanation of the Repository pattern on the freakin' Internet to date, when I say far I mean like the distance from the MIlky Way to the end of the Universe far. Mate... great job keep it going.

    • @Csharp-video-tutorialsBlogspot
      @Csharp-video-tutorialsBlogspot  5 років тому +1

      Hello Marko - Thank you very much for taking time to give feedback. This means a lot. I am very glad you found the videos useful.
      Good luck and all the very best with everything you are doing.

  • @talalshafiq3452
    @talalshafiq3452 5 років тому +12

    Most clear and simple lecture on repository pattern i have came accross. Thank you sir. Love & Respect.

    • @darkogele
      @darkogele 5 років тому +3

      Its Insane how good this thing is i love Venkat man :D

  • @frankromeo3351
    @frankromeo3351 4 роки тому +1

    Excellent! Very concisely describes how and why to use the repository pattern!

  • @sushensharma4730
    @sushensharma4730 5 років тому +20

    This is height of coincidence ! ,..I was just going through few youtube videos about repository pattern ,but was not satisfied with their explanation .I was thinking in my my mind ,i wish kudvenkat could have uploaded video on same topic ...and allas! video poped up in my recommendation with uploaded time 7 minutes ago

    • @rajeshselvam564
      @rajeshselvam564 5 років тому

      I'm learning lot of technology things from your tutorials... Really superb...

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

    Great video to learn if you are new and refresh the knowledge if you are old developer.

  • @RudraPratapSinghLearning
    @RudraPratapSinghLearning 3 роки тому

    It's a really amazing and simple explanation. Thanks a lot Kudvenkat. I regret taking a course at Naresh IT, Hydrabad. They wasted my time and money. Thanks again Kudvenkat.

  • @chaoticmind-z
    @chaoticmind-z 3 роки тому

    wow...just wow...you are truly amazing!! What a gem. God bless you

  • @sachingotal11
    @sachingotal11 5 років тому +2

    Waiting for the next video to be uploaded. The explanations here are SUPER AWESOME! Thank you very much for making such great tutorials.

  • @anand0901
    @anand0901 7 місяців тому

    Best explanation I have seen so far

  • @MmMm-tg5mq
    @MmMm-tg5mq 5 років тому +2

    very informative , concentrated and clear . If I can give more than one like I will give million likes, THANKS A LOT HERO

  • @poojadhamankar8604
    @poojadhamankar8604 4 роки тому

    It is such a clean, clear and up to the mark explanation

  • @ashiquebinraheem
    @ashiquebinraheem 5 років тому

    I did seen many videos to understand the loosly couple feature of dependency injection. I found the exact loosly coupling example in this.also, i did watch your other videos in learn dotnet core section.every one is awsome. Thanks you sir for the nice videos..

    • @Csharp-video-tutorialsBlogspot
      @Csharp-video-tutorialsBlogspot  5 років тому +2

      Hello Ashique - Thank you very much for taking time to give feedback. This means a lot. I am very glad you found the videos useful.

  • @ManishSingh-zh8jz
    @ManishSingh-zh8jz 3 роки тому

    Thank you for saving my career

  • @prashantbiradar7896
    @prashantbiradar7896 5 років тому +5

    I need to find out special word to say thank you...!!!☺️

  • @ypwygk652
    @ypwygk652 4 роки тому

    thanks very very much, please continue

  • @dennisgonzales9521
    @dennisgonzales9521 4 роки тому

    Thank you for the awesome video.

  • @girishparganiha3694
    @girishparganiha3694 5 років тому

    Very Nicely Explained the concept. Thank You ...!!!

  • @shrutisahay216
    @shrutisahay216 5 років тому

    Thank you so much for all your efforts, the description is also so informative , which proves your complete dedication that too for free, Really thank you sir , following you since college , my all major minor projects are becoz of you.

    • @Csharp-video-tutorialsBlogspot
      @Csharp-video-tutorialsBlogspot  5 років тому

      Hello Shruti - Thank you very much for the feedback. Means a lot. I have included all the ASP .NET Core tutorial videos, slides and text articles in sequence on the following page. Hope you will find it handy.
      www.pragimtech.com/courses/asp-net-core-mvc-tutorial-for-beginners/
      When you have some time, can you please leave your rating and valuable feedback on the reviews tab. It really helps us. Thank you. Good luck and all the very best with everything you are doing.

  • @iancarr3923
    @iancarr3923 5 років тому

    Your videos are very useful, thanks. Your diction is excellent!

  • @balakrishnanganesan5008
    @balakrishnanganesan5008 4 роки тому

    Thank you for the video. very useful

  • @yogibobo1
    @yogibobo1 5 років тому

    Really good explaination. Thank you very much !!!

  • @coolwaterdvr
    @coolwaterdvr 5 років тому

    Clear explanation of the repository pattern. Thank you Venkat. 👍

  • @haizzengunn9350
    @haizzengunn9350 3 роки тому

    very informative vid, great job!!

  • @hshlom
    @hshlom 3 роки тому +1

    As usual, another useful video from kudvenkat. But one question -
    8:42 - Return the deleted employee? How is that possible?

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

      The moment you call dbContext.SaveChanges() after calling Remove(employee), the employee record will get deleted from the database. But you still have a reference to the corresponding employee object. You can use that for logging etc.

  • @DecentProgrammer
    @DecentProgrammer 4 роки тому

    Nice Video. Thanks Sir

  • @rottipaani
    @rottipaani 3 роки тому +1

    Great❤❤❤

  • @berkut2006
    @berkut2006 5 років тому +2

    Damn, outstanding tutorial
    Thank you

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

    Thanks for sharing knowledge

  • @tomcork1790
    @tomcork1790 5 років тому

    Amazing videos @kudvenkat Used this to help me complete some of the implementation for my dissertation.

  • @itratsheikh1803
    @itratsheikh1803 4 роки тому

    Really sir you are awesome!

  • @IsmaelBarri
    @IsmaelBarri 5 років тому

    I have a question, at 05:17 We are coping properties of employeeChanges to employee, but employee already equals to employeeChanges at line 51, why should we copy the properties again?

  • @marcioalexandremarcondes557
    @marcioalexandremarcondes557 3 роки тому

    Thank you for this!

  • @puneetkankar
    @puneetkankar 5 років тому

    very helpful and nice explanation sir.

  • @MmMm-tg5mq
    @MmMm-tg5mq 5 років тому

    great trainer thanks thanks thanks :)

  • @sajadtorkamani9399
    @sajadtorkamani9399 4 роки тому

    Great video!

  • @djnew-e6j
    @djnew-e6j 4 роки тому +3

    Hi Venkat,
    Great explanation. I have one question regarding AddScoped. What will happen if I use AddSingleton instead of AddScoped?
    I know the difference between them but I did not understand the real time benefit of using AddScoped in this video.. What is the advantage of using AddScoped?
    Can you please explain?
    Thanks

    • @TheAhmedasdasd
      @TheAhmedasdasd 4 роки тому +1

      if you know the answer tell me?

    • @sixaintnine
      @sixaintnine 3 роки тому

      Same question :/ Can anyone help for future viewers?

  • @AbdulSamad-ct9io
    @AbdulSamad-ct9io 5 років тому +3

    Any video reference to understand the concept of generic repository and Unit of Work pattern. Thanks

  • @ogmiga
    @ogmiga 5 років тому +2

    Thank you so much Venkat.
    You have really done well. I have a question.
    If we have 100+ repositories, are we suppose to list all of them in the ConfigureServices Method? That I feel might be difficult to manage. Your advice please. Thank you

    • @Leng.sovandara
      @Leng.sovandara 4 роки тому +1

      I have this question too. Do you have answer yet?

  • @ivandrofly
    @ivandrofly 5 років тому

    Repository Pattern is one of the best pattern

  • @CarlosWashingtonMercado
    @CarlosWashingtonMercado 28 днів тому

    It would be great to have some videos in this playlist about unit testing with the IEmployeeRepository registry.

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

    Hello Venkat,
    Your all videos are excellent & easy to understand. Can you make video on "Unit Of Work" Pattern with example.

  • @rohan637
    @rohan637 5 років тому

    Thank you for the upload

  • @john-blair
    @john-blair Рік тому

    Why would you not use a singleton for the IEmployeeRepository? Thanks.

  • @naodagere8210
    @naodagere8210 5 років тому

    Marvelous!

  • @basilio100
    @basilio100 4 роки тому

    Some people say that Repo pattern over EntityFramework is antipattern. EntityFW is already repository.
    Also not sure if .Save() inside of each repo method is good idea. What if you need to do few entity operations during request - then it will be few DB transactions. Probably better to have BaseRepo where you do generic retrival, update, create and save operations.

  • @sulaimanahmedz5826
    @sulaimanahmedz5826 5 років тому +1

    Hi Mr. kudvenkat can you make videos on angular 7 and asp.net core web api implementation.

  • @RachitJain4U
    @RachitJain4U 3 роки тому

    Thank You Sir :)

  • @conaxlearn8566
    @conaxlearn8566 4 роки тому

    At 4:05 and several other places, why not just reuse the GetEmployee method instead of calling _employeeList.FirstOrDefault?

  • @microtech2448
    @microtech2448 5 років тому

    Nicely explained but it seems similar to video on DI. Again the same doubt how one can have reference of multiple store repository at the same time, in this case InMemory and SQL repositories and use one on the fly as per requirement?

  • @shahidwani6445
    @shahidwani6445 5 років тому +1

    Sir, make a video on onion architecture as well.
    Thank you very much for teaching us.

    • @orlandojoaobita7876
      @orlandojoaobita7876 5 років тому

      Of course! Onion architecture explained by Mr Venkat will be very easy to understand as he knows how to bring difficult contexts simple and clear. Thanks to him for help developers.

  • @elranoved
    @elranoved 3 роки тому

    is that code thread safe ? what about case the 2 requests are trying to change employee details ? anyway love your videos! perfect teacher.

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

    Thank you sir ji

  • @MariamMohamed-lu6tw
    @MariamMohamed-lu6tw 2 роки тому

    Thank you so much for this amazing tutorial,
    For people using API, to display the result, use the following code in controller:
    [HttpGet]
    public IActionResult Get()
    {
    var employees = _employeeRep.GetAllEmployee();
    return Ok(employees );
    }

  • @MrSyedimranbasha
    @MrSyedimranbasha 4 роки тому +1

    Thanks for posting the video. This is very useful. Can you post link to download source code of the project shown in the video.

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

    What if we wanted to use both sqlrepository and inmemory..How to register in startup class and make use of both

  • @saleemthuvvur7510
    @saleemthuvvur7510 5 років тому +1

    I am getting this exception, whats wrong with me?
    InvalidOperationException: The DbContext of type 'AppDbContext' cannot be pooled because it does not have a single public constructor accepting a single parameter of type DbContextOptions.

    • @MazharJavaid
      @MazharJavaid 5 років тому

      Same. Did you find solution ?

    • @saleemthuvvur7510
      @saleemthuvvur7510 5 років тому +1

      Yes.. I resolved

    • @MazharJavaid
      @MazharJavaid 5 років тому

      @@saleemthuvvur7510 please explain the solution #saleem. THAnks

  • @srikanthek737
    @srikanthek737 5 років тому

    How to consume stored procedure and views with EF Core ?, it looks complicated compared earlier EF, can you please give some lessons using dapper

  • @mayankpriyadarshi9346
    @mayankpriyadarshi9346 4 роки тому

    Thanks buddy

  • @dotnetdevni
    @dotnetdevni 4 роки тому

    I thought ef core suggests that you don’t use repository pattern it slows it down when it already implements.

  • @basselbeiroumi1045
    @basselbeiroumi1045 4 роки тому

    If you have problems running the pogram it might be because you don't have the default page as index just put app.UseMvcWithDefaultRoute(); before app.UseMvc(routes =>
    {
    routes.MapRoute("default", "{controller=Home}/{action=Details}/{id=2}");
    }); and it should work (version 3.1)

  • @chrisdan81
    @chrisdan81 5 років тому

    Hi. Does that repository can also be use to other classes or entities like department, product, customer tables? Thank you

  • @pritpalkaur5582
    @pritpalkaur5582 5 років тому

    You rock sir

  • @niemaszglowy
    @niemaszglowy 5 років тому

    Why would we need a repository? Can't we directly implement those CRUD methods in a service? Like EmployeeService which has a readonly private AppDbContext to work with?
    Why add another layer (repository)?
    Or am I just mistaking naming conventions and in this video Repository is a sort of Service?

  • @rishisharma1066
    @rishisharma1066 5 років тому +1

    Thanks Sir I learn a lot from you Why not singleton object of sql repository

  • @raghufriend159
    @raghufriend159 5 років тому +1

    what happens if I use AddSingleton instead of AddScoped to persist the same repository instance across all http requests

  • @trustingod0
    @trustingod0 5 років тому

    I'm getting a red squiggley line in the following code Department = Dept.HR in the MockEmployeeRepository. Should I have some Properties in the Department Class? Thanks !

    • @Csharp-video-tutorialsBlogspot
      @Csharp-video-tutorialsBlogspot  5 років тому

      Hello Ronald - Here is the Dept enum. Hope this helps.
      namespace EmployeeManagement.Models
      {
      public enum Dept
      {
      None,
      HR,
      IT,
      Payroll
      }
      }

  • @VirajChokhany
    @VirajChokhany 3 роки тому +1

    Sir can you say how is AppDbContext injected in SQLEmployeeRepository? I am not able to understand this part

  • @brianlaudrupchannel
    @brianlaudrupchannel 4 роки тому

    Do you recommend using the generic repository pattern?

  • @mystique87
    @mystique87 5 років тому

    Long live to you sir

  • @xaviercompagnion5309
    @xaviercompagnion5309 5 років тому

    Sir, will you talk about asynchronous programming in the repository pattern ? Regards

  • @zerosandones7547
    @zerosandones7547 3 роки тому

    do we put our "repositories" in the models folder?

  • @norbertotriemstra466
    @norbertotriemstra466 5 років тому

    What editing feature you use to copy withing Visual Studio ?

  • @mahishasworld
    @mahishasworld 4 роки тому

    hi venkat, one question in realtime scenario will use only with one databse(SQl,Oracle,..) we don''t need to create repositories multiple, Then how this repository pattern useful.

    • @conaxlearn8566
      @conaxlearn8566 4 роки тому

      Seperation of concerns. Back in the days when we were using ADO, we also created a data access layer that gets data from SQL and pass back to the caller which is the business logic layer. I see this repository pattern is pretty much doing the same thing.

  • @coolwaterdvr
    @coolwaterdvr 5 років тому

    Thanks Venkat.

  • @robmays6982
    @robmays6982 5 років тому

    excellent

  • @krishramakrishna9567
    @krishramakrishna9567 5 років тому

    we have to write seperate repo for every table in database

  • @eugene-white-shark
    @eugene-white-shark 3 роки тому

    thank you

  • @SuperOnlyP
    @SuperOnlyP 5 років тому

    Sir, why is private context not defined as _context in: private readonly AppDbContext context;

  • @michaelkut7711
    @michaelkut7711 5 років тому

    from where we are injecting the AppDbContext to the SQLEmployeeRepository constructor as a parameter !?

  • @lynnchen4048
    @lynnchen4048 4 роки тому

    sorry sir,i dont think repository pattern is neccesary.We 've created the dbContext instance by depency injection,why not just use the methods of our appDBContext to access the database in the controller action method?

    • @conaxlearn8566
      @conaxlearn8566 4 роки тому

      A lot of the topics that Venkat teaches may seem unnecessary in small projects. But he's preparing you for when you go into larger and complex projects.
      Having a repository class ensures you retrieve data the same way everytime, as you may require the same data from more than one business logic layer components.

  • @nitro-boy09
    @nitro-boy09 5 років тому

    This question might be out of topic, but how can you register DI outside of compile time to make it more configurable without recompiling?

    • @steveymcneckbeard
      @steveymcneckbeard 5 років тому

      I don't understand your question. Do you mean in a separate project/ class library?

    • @nitro-boy09
      @nitro-boy09 5 років тому

      @@steveymcneckbeard I mean register dependencies using an external file or config file so nobody has to recompile codes.

  • @kalpom
    @kalpom 5 років тому

    can you please make one video of common repository and unit of work patterns as well?

  • @Rajeshsingh-ws5th
    @Rajeshsingh-ws5th 3 роки тому

    Still its hard coded in startup. what if we want on conditional basis.

  • @A4amenvi
    @A4amenvi 5 років тому +1

    Please can you up thing one step by making a Generic Repository Pattern. Thank you

  • @gangadharkaranapu9062
    @gangadharkaranapu9062 4 роки тому

    what's there in repository pattern. I am feeling like the interface-implementation concept only

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

    I am not getting error cannot open databse . I am getting the error Object reference not set to an instance of an object. @foreach (var employee in Model). Please help me on the same.

  • @pkcc9381
    @pkcc9381 5 років тому

    Why not AddSingleton for the SQLEmployeeRepository service?

    • @swimmorning
      @swimmorning 5 років тому

      Not sure if this has already been answered or not, but if you do AddSinglton an exception will be thrown:
      Singleton ImplementationType: EmployeeManagement.Models.SQLEmployeeRepository': Cannot consume scoped service 'EmployeeManagement.Models.AppDbContext' from singleton 'EmployeeManagement.Models.IEmployeeRepository

  • @gangwargajendra
    @gangwargajendra 5 років тому

    Sir plz make vedios on react js. Which will be implement in mvc core.

  • @mudasirbhat126
    @mudasirbhat126 5 років тому

    Hello Sir
    HTTP Error 500.30 - ANCM In-Process Start Failure
    I got this error while running the project, how to fix this ?
    As I have done the same things that you have done in the project so far.
    Please Reply as soon as possible

  • @gauravverma7914
    @gauravverma7914 5 років тому

    Sir how attach SEO framework in asp.net core

  • @scceconiprodcomsrl5723
    @scceconiprodcomsrl5723 5 років тому

    So not this one ( video and tutorial) is great, all your videos are, but when one tutorial with Data Access and stored procedures , for those who has already databases ,stored procedures, triggers..etc? Thanks

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

    Why you don't use Async in Repository?

  • @sachingreat222
    @sachingreat222 4 роки тому

    Plz let me know control period key

  • @coderggk6819
    @coderggk6819 4 роки тому

    1) Why AddScoped and not AddSingleton?

    • @conaxlearn8566
      @conaxlearn8566 4 роки тому

      You will hit an error if you use AddSingleton. This is because internally services.AddDbContext adds the context as a scoped service and you can't use a scoped service inside a singleton service.
      Singleton service - Instance created on first request, stays alive and shared by all users until the application shuts down.
      Scoped service - Instance created on first request of a web request, stays alive and used only by the same web request.
      So why is the dbcontext added as scoped instead of singleton? Because
      * We would not want to have a dbcontext service to be shared by multiple users.
      * If it is a singleton service, it will stay alive and keep using more and more system resources for the hundreds and thousands or even millions of database calls and will soon crash the application.

  • @potatodroid2
    @potatodroid2 5 років тому

    Implementation for Update method in MockEmployeeRepository, as shown here, should not work.
    Instead the code below should.
    public Employee Update(Employee employee)
    {
    int Id = employee.Id;
    int index = _employeeList.FindIndex(e => e.Id == employee.Id);
    _employeeList[index].Name = employee.Name;
    _employeeList[index].Email = employee.Email;
    _employeeList[index].Department = employee.Department;
    return employee;
    }