execute immediate 'ALTER TRIGGER tr_name DISABLE'; ... execute immediate 'ALTER TRIGGER tr_name ENABLE';
середа, 26 жовтня 2011 р.
Oracle: disable a trigger in an stored procedure
четвер, 20 жовтня 2011 р.
понеділок, 17 жовтня 2011 р.
ExtJS: delay/buffer event
listeners: {
keyup: {
fn: function () {
//...
},
delay: 500 //buffer: 500
}
}
четвер, 13 жовтня 2011 р.
EF 4.1 Code-First: generate model
private void WriteEdm()
{
var settings = new XmlWriterSettings();
settings.Indent = true;
using (var ctx = new WebEntities())
{
using (var writer = XmlWriter.Create(Server.MapPath(@"Model.edmx"), settings))
{
EdmxWriter.WriteEdmx(ctx, writer);
}
}
}
середа, 12 жовтня 2011 р.
EF 4.1 Code-First: remove all conventions
protected override void OnModelCreating(DbModelBuilder db)
{
var types = typeof(IConvention).Assembly.GetTypes()
.Where(x => x.IsClass && !x.IsAbstract && typeof(IConvention).IsAssignableFrom(x))
.ToList();
var remove = typeof(ConventionsConfiguration).GetMethod("Remove");
types.ForEach(x => remove.MakeGenericMethod(x).Invoke(db.Conventions, null));
}
Полный список аннотаций, поддерживаемый в EF 4.1
KeyAttribute
StringLengthAttribute
MaxLengthAttribute
ConcurrencyCheckAttribute
RequiredAttribute
TimestampAttribute
ComplexTypeAttribute
ColumnAttribute
Атрибут свойства для указания имени столбца, ординарного типа и типа данных
TableAttribute
Атрибут класса для указания имени таблицы и схемы
InversePropertyAttribute
Атрибут свойства навигации для указания свойства, которое представляет другой конец связи
ForeignKeyAttribute
Placed on a navigation property to specify the property that represents the foreign key of the relationship
DatabaseGeneratedAttribute
Атрибут свойства для указания того, как база данных будет вычислять значение поля (Identity, Computed or None)
NotMappedAttribute
Атрибут свойства или класса для его исключения из базы данных
source
неділя, 9 жовтня 2011 р.
MVC: Cascading Dropdown
Action Methods:
[HttpPost]
public JsonResult GetCategories()
{
Thread.Sleep(1000);
return Json(categoriesList);
}
[HttpPost]
public JsonResult GetProducts(int? category)
{
Thread.Sleep(1000);
var list = category.HasValue ? productsList.Where(x => x.CategoryId == category).ToList() : productsList;
return Json(list);
}
HTML:
<lable for="category">Category</lable>
<select id="category" name="category">
<option value="-1">Select...</option>
@foreach (var item in Model)
{
<option value="@item.Id">@item.Title</option>
}
</select>
<lable for="product">Product</lable>
<select id="product" name="product">
<option value="-1">Select cetegory...</option>
</select>
Script:
$(function () {
var categories = $('#category');
var products = $('#product');
products.change(function () {
console.log(products.val());
});
categories.change(function () {
var id = categories.val();
if (id != -1) {
products.empty();
products.append($('<option/>', {
value: -1,
text: "Loading..."
}));
$.ajax({
type: 'POST',
url: "/Products/GetProducts",
data: { category: id },
success: function (resp) {
var items = eval(resp);
products.empty();
products.append($('<option/>', {
value: -1,
text: "Select product..."
}));
$.each(items, function (index, item) {
products.append($('<option/>', {
value: item.Id,
text: item.Title
}))
});
},
error: function () {
console.log('Error');
console.log(arguments);
}
});
} else {
products.empty();
products.append($('<option/>', {
value: -1,
text: "Select cetegory..."
}));
}
});
});
Підписатися на:
Коментарі (Atom)