asp.net c# microsoft membership create user varsayılan role vermek

Asp.Net Yorum Yok »

protectedvoid CreateUserWizard1_CreatedUser(object sender, EventArgs e)

{

CreateUserWizard cuw = (CreateUserWizard)sender; string RoleToJoin = “uye”; if (!Roles.IsUserInRole(cuw.UserName, RoleToJoin)) { Roles.AddUserToRole(cuw.UserName, RoleToJoin); }

}

Share

tarayıcıya göre css yüklemek

HTML Yorum Yok »

<!–[if IE]>

<link rel=”stylesheet” type=”text/css” href=”css/layout-ie.css” />

<![endif]–>

Share

Veri tabanı tasarımı için 20 ipucu

MS SQL, Sql Server Yorum Yok »

1) Tutarlı ve iyi tanımlanmış tablo/sütun isimleri kullanın. ( Okul, Ogrenci, KursNO)

2) Tablo isimleri için çoğul isimler kullanmayın ( Ogrenci/Ogrenciler Student/Students) Tablolar zaten varlık koleksiyonlarını içerirler çoğul kullanmanıza gerek yoktur.

3) Tablo isimlerinde boşluk karakteri kullanmayın. Eğer kullanırsanız veritabanı sunucusu tipine göre sorgularınızda köşeli parantez, süslü parantez gibi ekstra ifadeler kullanmak zorunda kalabilirsiniz bu da kodlama sırasında hatalar yapmanıza sebep olabilir.

4) Tablo isimlendirirken gereksiz ön ek ve son eklerden kaçının (tblOgrenci, OgrenciTbl, OgrenciTablosu)

5) Şifre alanlarını kriptolayarak saklayın. (MD5, SHA1, bazı alanlar için base64 v.s.)

6) Bütün tablolarınıza sayı değeri barındıran bir kimlik sütunu bulundurun (Id alanı). Başlangıçta lazım olmasa bile ilerde lazım olma ihtimali yüksektir. Ayrıca bazı ORM araçlarının tablo üzerinde işlem yapmak için benzersiz bir ‘id’ alanına ihtiyaç duyduğunu aklınızda bulundurun.

7) Index oluşturmak için sayı (integer) tipli alanları tercih edin. Karakter (char/varchar) seçmeniz performans problemlerine neden olabilir.

8) Mantıksal (boolean) veri tipi için ‘bit’ tanımlaması kullanın. Karakter veya sayı kullanmanız gereksiz alan tüketimine sebep olur ayrıca bu alanlar için ‘Is’ öneki kullanabilirsiniz (İngilizce).

9) Veri tabanı için yetkilendirme sistemi kullanın, her kullanıcıya ‘yönetici’ admin rolü vermeyin.

10) Gerekmedikçe tablonuzdaki bütün sütunları seçen, ‘select *’ sorgusundan uzak durun. Sorgunuzda sadece gerekli sütunları isteyin.

11) Uygulamanız büyüdükçe ORM araçları kullanmaya yönelmeseniz. Başlangıçta performans kaybına neden olsa da ince ayar yaparak problemlerin üstesinden gelebilirsiniz.

12) Büyük ölçekli ve fazla kullanılmayan tabloları performans arttırmak amacıyla farklı disklerde tutmaya çalışın.

13) Büyük, hassas ve kritik önemi olan veritabanlarınız için yedekleme ve data güvenlik sistemleri kullanın (failover clustering, auto backups, replications)

14) Data bütünlüğünü sağlamak amacıyla alan kısıtlamalarını kullanın bütün denetleme işini uygulamanıza bırakmayın.

15) Varlık yapınızı, tablo ilişkilerinizi dokümente edin. Kullandığınız tetikleyicilerde (trigger) ve saklı prosedürlerde (stored procedures) yorum satırları ile yaptıklarınızı anlatın.

16) Büyük tablolar üzerinde çok kullandığınız sorgular için indexlemeye gidin. Analiz araçları hangi alanlarda indexlemeye gitmeniz gerektiği konusunda size yardımcı olabilir. Büyük çapta sonuç döndüren sorgular için ‘clustered index’ler, tekil sonuç döndürenler için ise ‘non-clustered’ indexler genellikle daha iyidir.

17) Veritabanı sunucusu ile web sunucusunu (uygulama sunucusu) farklı fiziksel makinalarda tutmaya çalışın. Bu hem performası (farklı cpu ve disk alanı kullanımından dolayı) artırır hem de daha fazla güvenlik sağlar (hack ataklarına karşı)

18) Sık kullanılan tablolarda resim (image) alanına yer vermeniz performans problemlerine sebep olabilir. Bu alanları farklı tablolarda tutmaya çalışın.

19) Gerektiğinde performansı arttırmak için normalizasyon (http://tr.wikipedia.org/wiki/Normalizasyon) yapmalısınız. Normalizasyonun az ya da çok olması performans problemlerine sebep olabilir.

20) Veritabanı modelleme ve tasarımı için daha fazla zaman ayırın. Eğer ayırmazsanız bu sizi bakım işlemleri sırasında aşırı vakit harcamak ve tablolarınızı yeniden dizayn etmek zorunda bırakabilir Orjinal Makale

 

 

Orjinal Makale 

 

20 Database Design Best Practices

 

http://codebalance.blogspot.com/2011/07/20-database-design-best-practices.html

Share

LINQ to SQL in C# Kopya Kağıdı

Entity Framework Yorum Yok »

LINQ to SQL in C#

Cheat Sheet http://damieng.com

 

Data context & database create

var db = new MyDataContext(@”server=.\SQLEXPRESS;database=my;integrated security=SSPI”);

if (!db.DatabaseExists()) db.CreateDatabase();

Where, null, contains & type

var r = new string[] { “WA”, “OR” };

var customers = from c in db.Customers

where c is Customer &&

(c.Region==null || r.Contains(c.Region))

select c;

Insert

var customer = new Customer() {

CustID = “CHIPS”,

CompanyName = “Mr. Chips” };

db.Customers.InsertOnSubmit(customer);

db.SubmitChanges();

Update

customer.ContactName = “Adam”;

customer.Location = null;

db.SubmitChanges();

Select one

var only = db.Customers.SingleOrDefault(c

=> c.CustID == “CHIPS”);

var first = db.Customers.FirstOrDefault(c

=> c.CustID == “CHIPS”);

Paging & order

var page3 = (from c in db.Customers

orderby c.ContactName, c.City descending

select c).Skip(10).Take(5);

Delete

db.Customers.DeleteOnSubmit(customer);

db.SubmitChanges();

Group, count, sum & projection

var totals = from c in db.Customers

group c by c.Country into g

select new Summary { Country = g.Key,

CustomerCount = g.Count(),

OrdCount = g.Sum(a=> a.Orders.Count)};

Join, shape & distinct

var labels = (from c in db.Customers

join o in db.Orders

on c.CustID equals o.CustID

select new { name = c.ContactName,

address = o.ShipAddress

}).Distinct();

Class/table attributes

[Table(Name="dbo.Customers")]

[InheritanceMapping(Code="C",

Type=typeof(Customer), IsDefault=true)]

[InheritanceMapping(Code="T",

Type=typeof(TopCustomer)]

Property/column attributes

[Column(Storage="_CustomerID",

DbType="Int NOT NULL", Name="custid",

IsPrimaryKey=true)]

[Column(Storage="_Category",

DbType="Char(1)",

IsDiscriminator=true)]

[Column(Storage="_Ver", IsVersion=true

AutoSync=AutoSync.Always,

UpdateCheck=UpdateCheck.Never,

DbType="rowversion NOT NULL",

CanBeNull=false, IsDbGenerated=true)]

Association/relationship attributes

[Association(Name="Country_Customer",

Storage="_Country", ThisKey="CoID",

IsForeignKey=true)]

Composite & outer join

var r = from c in db.Customers

join o in db.Orders on

new { c=c.CustID, r=c.Country } equals

new { c=o.CustID, r=o.ShipCountry }

into j

from jo in j.DefaultIfEmpty()

select new { c, jo };

Share

HTTP Error 404.0 – Not Found – url routing hatası- iss 7.5 url routing hatası

Genel Yorum Yok »

1- Eger kendi servınız var ise yada host aldıgınız yerde web configde ne yaptıysanız olmuyorsa Windows özelliklerinden “HTTP Redirection” yüklü olması gerekli aksi taktirde web configde ne yapsanız boş….
2- iss manager de Aplication Pools da Default App poll Managed Pipeline Mode Integrated olarak ayarlı olacak
3- webconfig dosyanız da bu ayarlar olacak
null
işte bu kadar …. global asax dosyanızda tanımlamalar dogruysa sorunsuz calisacaktır….

Share

Entity Framework repository update

Asp.Net, Entity Framework Yorum Yok »

public virtual void Update(T entity)
{
if (_context.ObjectStateManager.GetObjectStateEntry(entity).State== EntityState.Detached)
{
return; //throw new InvalidOperationException(…);
}

_context.SaveChanges();
}
Entity Framework Repository , generic , jenerik yada neyse class tarafındaki update olayı kullanımı hakkında soru sorabilirsiniz…

Share

Entity Framework son kaydı çekmek

Entity Framework Yorum Yok »

var sonkayit = (from c in context_sonkayit.tbltablo orderby c.id descending select c).FirstOrDefault()

Üstteki kod son kayyıttaki tüm degerleri getiriyor…..

Bu aralar entity framework’da ilerliyorum ornek kodların devamı gelecek…

Share

asp.net c# string to date dönüşümü

Genel Yorum Yok »

DateTime dt = DateTime.Parse(strdate);

Share

MSSQL VERİ TİPLERİ

MS SQL, Sql Server Yorum Yok »

MSSQL VERİ TİPLERİ
BIGINT:
Açıklama: Int veri tipinin daha geniş bir nümerik aralığa sahip hali.
Minimum Değeri: -9,223,372,036,854,775,808)
Maksimum Değeri: 9,223,372,036,854,775,807
Kapladığı yer: 8 byte
BINARY:
Açıklama: Maksimum 8 (8000 byte) kb boyutunda binary veri alabilen
veri tipi. Parantez içerisinde verinin boyutu belirlenir. ÖRNEK: Binary(4)
gibi
Kapladığı Yer: Değişken
BIT:
Açıklama: Değeri 1,0 ya da Null olabilen veri tipi
Kapladığı yer: 1 byte
CHAR:
Açıklama: Belirtilen sayıda karakter tutbilen veri tipi. Maksiumum 8000
byte (8 kb) olabilir. Char(4) olarak belirtildiğinde her zaman 4 byte’lık yer
ayrılır. Veri girişinde o sütunu boş bıraksanız da 2 karakterlik veri girseniz
de her zaman 4 byte yer tutar. Diyelim sadece bir “a” harfi girdiniz, bu
kayıt “a “ (boşluklara dikkat) olarak kaydedilir. Unicode karakterler
girilemez.
Kapladığı Yer: Değişken
DATETIME:
Açıklama: Saat ve tarih girişi yapılabilen veri tipi. Dikkat: Giriş formatı
bölgelere göre değişiklik gösterir.
Minimum Değeri:1 Ocak 1753
Maksimum Değeri: 31 Aralık 9999
Kapladığı Yer: 8 Bit
DECIMAL:
Açıklama: Ondalıklı rakam girişi yapılabilen veri tipi. Numeric’le aynı
görevi görür. Decimal(Precision,Scale) olarak tanımlanır. Precision:
Rakamın ondalık dahil kaç haneden oluşacağını belirler. Scale ise ondalık
kısmının kaç haneden oluşacağını belirler. Decimal(3,1) dediğimiz zaman
22,1, -22,1 gibiver girişleri yapabiliriz. Eğer 22,12 yazarsak sql server
bunu 22,1’e dönüştürecektir.
Minimum Değeri: -1038-1
Maksimum Değeri: 1038-1
Kapladığı Yer: Değişken
FLOAT:
Açıklama: Ondalıklı rakam girişi yapılabilen veri tipi.
Minimum Değeri: -1.79E + 308
Maksimum Değeri: 1.79E + 308
Kapladığı Yer: 8 Byte
IMAGE:
Açıklama: Binary veri girişi yapılabilen veri tipi
Kapladığı Yer: Maksimum 2 Gigbabyte (2,147,483,647 byte)
INT:
Açıklama: Tam sayı girişi yapılabilen veri tipi
Minimum Değeri: -2,147,483,647
Maksimum Değeri: +2,147,483,647
Kapladığı Yer: 4 byte
MONEY:
Açıklama: Para girişleri için kullanılan veri tipi. Decimal(18,4)’le aynı
görevi görür.
Minimum Değeri: -922,337,203,685,477.5808
Maksimum Değeri: 922,337,203,685,477.5807
Kapladığı Yer: 8 byte
NCHAR:
Açıklama: Char veri tipinin unicode karakterileri de kaplayan hali.
Nchar(n) olarak tanıtılır. N maksimum 4000 olabilir.
Kapladığı Yer: Değişken (Aynı uzunluktaki char veritipinin 2 katı)
NTEXT:
Açıklama: Text veri tipinin unicode karakteri de kapsayan hali.
Kapladığı Yer: Değişken (Aynı uzunluktaki text’in 2 katı)
NUMERIC:
Açıklama: (bkz: Decimal)
Kapladığı Yer: Değişken
NVARCHAR:
Açıklama: Varchar veri tipinin unicode karakterleride kapsayan hali.
Kapladığı Yer: Değişken (Aynı uzunluktaki varchar’ın 2 katı)
REAL:
Açıklama: Real sayı girilebilen veri tipi.
Minimum Değeri: -3.40E + 38
Maksimum Değeri: 3.40E + 38
Kapladığı Yer: 4 byte
SMALLDATETIME:
Açıklama: Datetime veri tipinin daha dar bir tarih aralığına sahiphali
Minimum Değeri: 1 Ocak 1900
Maksimum Değeri: 6 Haziran 2079
Kapladığı Yer: 4 byte
SMALLINT:
Açıklama: Int veri tipinin daha dar bir numerik aralığa sahip hali
Minimum Değeri: -32,768
Maksimum Değeri: 32,767
Kapladığı Yer: 2 byte
SMALLMONEY:
Açıklama: Money veri tipinin daha dar bir nümerik aralığa sahip hali
Minimum Değeri: -214,748.3648
Maksimum Değeri: -214,748.3647
Kapladığı Yer: Değişken
SQL VARIANT:
Açıklama: text,ntext,sql variant ve timestamp veri tipi hariç diğer veri
tiplerini barındırabilen veri tipi
Kapladığı Yer: Değişken
TEXT:
Açıklama: Maksimum 2,147,483,647 karakteri barındırabilen veri tipi.
“Text in Row” ve “Text Pointer” olarak iki çeşit kullanımı vardır.
Kapladığı Yer: Değişken
TIMESTAMP:
Açıklama: Bütün database objeleri arasında başka bir eşi olmayan sayı
üreten veri tipi. Satır her update edildiğinde değeri değişir.
Kapladığı Yer: 8 Byte
TINYINT:
Açıklama: Int veri tipinin daha dar bir nümerik aralığa sahip hali.
Sadecepozitif sayılar alabilir.
Minimum Değeri: 0
Maksimum Değeri: 255
Kapladığı Yer: 1 Byte
UNIQUEIDENTIFIER:
Açıklama: Eşi olmayan rakam ve yazılardan oluşan bir değer döndüren
veri tipi. Newid() fonksiyonuyla kullanılabilir.
Kapladığı Alan: 16 byte
VARBINARY:
Açıklama: Binary veri tipinin değişken uzunlukta veri tanımlanabileceği
hali.
Kapladığı Alan: Değişken
VARCHAR:
Açıklama: Char vertipinin değişken uzunlukta veri tanımlanabileceği hali.
Kapladığı Alan: Değişken

Share

ASP.NET MVC 1-2-3 CONVERTER

Asp.Net Yorum Yok »

hayalweb_com_mvc_converter

Bu altaki hatanın nedi mvc version uyuşmazlığından kaynaklı. Yukarıdaki zipli dosyayı indirirseniz gerekli donusumleri yapıp

hatayı ortadan kaldırabilirsiniz..

<add assembly=”System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″ />

Share
Powered by WordPress Wordpress Temaları
Dreamplace teması hayalet tarafından Türkçe'ye çevrilmiştir.