@inherits MVCWithAutofac.Web.BasePages.CustomBasePage
using MVCWithAutofac.Core.Interfaces;
using System.Web.Mvc;
namespace MVCWithAutofac.Web.BasePages
{
public class CustomBasePage : WebViewPage
{
public ITeamRepository teamRepo { get; set; }
public IRepository repo { get; set; }
public override void Execute() { }
}
}
Autofac kullanarak
9 Mayıs 2015 Cumartesi
Guid uzunluklar
It depends on how you format the Guid:
Guid.NewGuid().ToString()=> 36 characters (Hyphenated)
outputs:12345678-1234-1234-1234-123456789abcGuid.NewGuid().ToString("D")=> 36 characters (Hyphenated, same asToString())
outputs:12345678-1234-1234-1234-123456789abcGuid.NewGuid().ToString("N")=> 32 characters (Digits only)
outputs:12345678123412341234123456789abcGuid.NewGuid().ToString("B")=> 38 characters (Braces)
outputs:{12345678-1234-1234-1234-123456789abc}Guid.NewGuid().ToString("P")=> 38 characters (Parentheses)
outputs:(12345678-1234-1234-1234-123456789abc)Guid.NewGuid().ToString("X")=> 68 characters (Hexadecimal)
outputs:{0x12345678,0x1234,0x1234,{0x12,0x34,0x12,0x34,0x56,0x78,0x9a,0xbc}}
Entity Framework Migrate Database to Latest Version
public class DatabaseContext : DbContext
{
public DatabaseContext()
: base("name=DatabaseContext")
{
//Eğer modelde bir değişiklik olduysa veritabanını günceller
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
}
}
{
public DatabaseContext()
: base("name=DatabaseContext")
{
//Eğer modelde bir değişiklik olduysa veritabanını günceller
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
}
}
6 Mayıs 2015 Çarşamba
Foreach döngü sırasını bulma
foreach (var x in list.Select((value, index) => new { value, index }))
{
// Use x.value and x.index in here
}
{
// Use x.value and x.index in here
}
Razor html etiketleri silme
post.PostContent = Regex.Replace(post.PostContent, @"<[^>]*>", String.Empty);
post burda herhangi bir model. PostContent bir property. Regex expression ile otomatik html etiketlerini siliyoruz.
post burda herhangi bir model. PostContent bir property. Regex expression ile otomatik html etiketlerini siliyoruz.
5 Mayıs 2015 Salı
Entity framework Hashset
public class Post
{
[SuppressMessage("ReSharper", "DoNotCallOverridableMethodsInConstructor")]
public Post()
{
Likes = new HashSet<Like>();
Post1 = new HashSet<Post>();
}
....
diyelim mesala burda her like'dan bir tane olacağı anlamına geliyor. Likes listesindeki bütün veriler farklı oluyor. Tekrar eden sütun olmuyor ki olmaması da lazım veri tutarlılığı için
{
[SuppressMessage("ReSharper", "DoNotCallOverridableMethodsInConstructor")]
public Post()
{
Likes = new HashSet<Like>();
Post1 = new HashSet<Post>();
}
....
diyelim mesala burda her like'dan bir tane olacağı anlamına geliyor. Likes listesindeki bütün veriler farklı oluyor. Tekrar eden sütun olmuyor ki olmaması da lazım veri tutarlılığı için
4 Mayıs 2015 Pazartesi
Mock ModelState
This may be a silly example, but hopefully it moves the discussion forward:
The following code is in my Controller Action:
if (ViewData.ModelState.Count > 10)
{
ViewData["Message"] = "Too many errors to continue";return View();
}
Here is a test with mocking and a test wtihout mocking:
[Test]public void Test11ModelStateErrorsWithMock()
{
HomeController homeController = new HomeController();
MockRepository mockRepository = new MockRepository();
ModelStateDictionary mockModelStateDictionary = (ModelStateDictionary)mockRepository.DynamicMock(typeof(ModelStateDictionary));
homeController.ViewData.ModelState = mockModelStateDictionary;
Expect.Call(mockModelStateDictionary.Count).Return(11);
mockRepository.ReplayAll();
ViewResult viewResult = (ViewResult)homeController.About();
mockRepository.VerifyAll();
Assert.AreEqual("Too many errors to continue", viewResult.ViewData["Message"]);
}
[Test]public void Test11ModelStateErrorsWithoutMock()
{
HomeController homeController = new HomeController();
homeController.ViewData.ModelState.AddModelError("1", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("2", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("3", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("4", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("5", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("6", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("7", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("8", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("9", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("10", "FakeValue", "FakeException");
homeController.ViewData.ModelState.AddModelError("11", "FakeValue", "FakeException");
ViewResult viewResult = (ViewResult)homeController.About();
Assert.AreEqual("Too many errors to continue", viewResult.ViewData["Message"]);
}
In my opinion, the test with the mock is less verbose and shows the intent better. It is easier to change (for example if the requirement changed to having a limit of 20 errors).
Kaydol:
Kayıtlar (Atom)
.net 6 mapget kullanımı
app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { var response = JsonConvert.Seriali...
-
XAMPP Apache MySQL PHP 5 PHP 4 1.8.3 2.4.9 5.6.16 5.5.11 1.8.2 2.4.9 5.5.36 5.4.27 1.8.1 2.4.3 5.5.27 5.4.7 1...
-
SELECT * INTO [new_BK] FROM [old_table]
-
Komut ekranına aşagıdaki komutları yazarak windows service işlemlerini gerçekleştirebiliriz. Not : Komut ekranı (Başlat -> Çalıştır -...